brintos

brintos / llvm-project-archived public Read only

0
0
Text · 2.7 KiB · 1527d50 Raw
100 lines · plain
1; RUN: llc -mtriple=amdgcn -mcpu=gfx600 < %s | FileCheck --check-prefix=GCN %s2; RUN: llc -mtriple=amdgcn -mcpu=gfx700 < %s | FileCheck --check-prefix=GCN %s3; RUN: llc -mtriple=amdgcn -mcpu=gfx801 < %s | FileCheck --check-prefix=GCN %s4; RUN: llc -mtriple=amdgcn -mcpu=gfx900 < %s | FileCheck --check-prefix=GCN %s5 6; GCN-LABEL: {{^}}scalar_andn2_i32_one_use7; GCN: s_andn2_b328define amdgpu_kernel void @scalar_andn2_i32_one_use(9    ptr addrspace(1) %r0, i32 %a, i32 %b) {10entry:11  %nb = xor i32 %b, -112  %r0.val = and i32 %a, %nb13  store i32 %r0.val, ptr addrspace(1) %r014  ret void15}16 17; GCN-LABEL: {{^}}scalar_andn2_i64_one_use18; GCN: s_andn2_b6419define amdgpu_kernel void @scalar_andn2_i64_one_use(20    ptr addrspace(1) %r0, i64 %a, i64 %b) {21entry:22  %nb = xor i64 %b, -123  %r0.val = and i64 %a, %nb24  store i64 %r0.val, ptr addrspace(1) %r025  ret void26}27 28; GCN-LABEL: {{^}}scalar_orn2_i32_one_use29; GCN: s_orn2_b3230define amdgpu_kernel void @scalar_orn2_i32_one_use(31    ptr addrspace(1) %r0, i32 %a, i32 %b) {32entry:33  %nb = xor i32 %b, -134  %r0.val = or i32 %a, %nb35  store i32 %r0.val, ptr addrspace(1) %r036  ret void37}38 39; GCN-LABEL: {{^}}scalar_orn2_i64_one_use40; GCN: s_orn2_b6441define amdgpu_kernel void @scalar_orn2_i64_one_use(42    ptr addrspace(1) %r0, i64 %a, i64 %b) {43entry:44  %nb = xor i64 %b, -145  %r0.val = or i64 %a, %nb46  store i64 %r0.val, ptr addrspace(1) %r047  ret void48}49 50; GCN-LABEL: {{^}}vector_andn2_i32_s_v_one_use51; GCN: v_bfi_b3252define amdgpu_kernel void @vector_andn2_i32_s_v_one_use(53    ptr addrspace(1) %r0, i32 %s) {54entry:55  %v = call i32 @llvm.amdgcn.workitem.id.x() #156  %not = xor i32 %v, -157  %r0.val = and i32 %s, %not58  store i32 %r0.val, ptr addrspace(1) %r059  ret void60}61 62; GCN-LABEL: {{^}}vector_andn2_i32_v_s_one_use63; GCN: v_bfi_b3264define amdgpu_kernel void @vector_andn2_i32_v_s_one_use(65    ptr addrspace(1) %r0, i32 %s) {66entry:67  %v = call i32 @llvm.amdgcn.workitem.id.x() #168  %not = xor i32 %s, -169  %r0.val = and i32 %v, %not70  store i32 %r0.val, ptr addrspace(1) %r071  ret void72}73 74; GCN-LABEL: {{^}}vector_orn2_i32_s_v_one_use75; GCN: v_bfi_b3276define amdgpu_kernel void @vector_orn2_i32_s_v_one_use(77    ptr addrspace(1) %r0, i32 %s) {78entry:79  %v = call i32 @llvm.amdgcn.workitem.id.x() #180  %not = xor i32 %v, -181  %r0.val = or i32 %s, %not82  store i32 %r0.val, ptr addrspace(1) %r083  ret void84}85 86; GCN-LABEL: {{^}}vector_orn2_i32_v_s_one_use87; GCN: v_bfi_b3288define amdgpu_kernel void @vector_orn2_i32_v_s_one_use(89    ptr addrspace(1) %r0, i32 %s) {90entry:91  %v = call i32 @llvm.amdgcn.workitem.id.x() #192  %not = xor i32 %s, -193  %r0.val = or i32 %v, %not94  store i32 %r0.val, ptr addrspace(1) %r095  ret void96}97 98; Function Attrs: nounwind readnone99declare i32 @llvm.amdgcn.workitem.id.x() #0100