1; RUN: llc -march=amdgcn -stop-after=amdgpu-isel < %s | FileCheck -check-prefix=GCN %s
2
3; GCN-LABEL: name:            scalar_not_i32
4; GCN: S_NOT_B32
5define amdgpu_kernel void @scalar_not_i32(i32 addrspace(1)* %out, i32 %val) {
6  %not.val = xor i32 %val, -1
7  store i32 %not.val, i32 addrspace(1)* %out
8  ret void
9}
10
11; GCN-LABEL: name:            scalar_not_i64
12; GCN: S_NOT_B64
13define amdgpu_kernel void @scalar_not_i64(i64 addrspace(1)* %out, i64 %val) {
14  %not.val = xor i64 %val, -1
15  store i64 %not.val, i64 addrspace(1)* %out
16  ret void
17}
18
19; GCN-LABEL: name:            vector_not_i32
20; GCN: V_NOT_B32_e32
21define i32 @vector_not_i32(i32 %val) {
22  %not.val = xor i32 %val, -1
23  ret i32 %not.val
24}
25
26; GCN-LABEL: name:            vector_not_i64
27; GCN: V_NOT_B32_e32
28; GCN: V_NOT_B32_e32
29define i64 @vector_not_i64(i64 %val) {
30  %not.val = xor i64 %val, -1
31  ret i64 %not.val
32}
33
34
35