Run DCE after a LoopFlatten test to reduce spurious output [nfc]
[llvm-project.git] / llvm / test / CodeGen / AMDGPU / divergence-driven-not-isel.ll
blob209c7d990f213f2139a26836438c6b0d058219c6
1 ; RUN: llc -march=amdgcn -stop-after=amdgpu-isel < %s | FileCheck -check-prefix=GCN %s
3 ; GCN-LABEL: name:            scalar_not_i32
4 ; GCN: S_NOT_B32
5 define amdgpu_kernel void @scalar_not_i32(ptr addrspace(1) %out, i32 %val) {
6   %not.val = xor i32 %val, -1
7   store i32 %not.val, ptr addrspace(1) %out
8   ret void
11 ; GCN-LABEL: name:            scalar_not_i64
12 ; GCN: S_NOT_B64
13 define amdgpu_kernel void @scalar_not_i64(ptr addrspace(1) %out, i64 %val) {
14   %not.val = xor i64 %val, -1
15   store i64 %not.val, ptr addrspace(1) %out
16   ret void
19 ; GCN-LABEL: name:            vector_not_i32
20 ; GCN: V_NOT_B32_e32
21 define i32 @vector_not_i32(i32 %val) {
22   %not.val = xor i32 %val, -1
23   ret i32 %not.val
26 ; GCN-LABEL: name:            vector_not_i64
27 ; GCN: V_NOT_B32_e32
28 ; GCN: V_NOT_B32_e32
29 define i64 @vector_not_i64(i64 %val) {
30   %not.val = xor i64 %val, -1
31   ret i64 %not.val