54 lines · plain
1; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py2; RUN: llc -verify-machineinstrs < %s -mtriple=powerpc64le-unknown-unknown | FileCheck %s3 4define i1 @and_cmp1(i32 %x, i32 %y) {5; CHECK-LABEL: and_cmp1:6; CHECK: # %bb.0:7; CHECK-NEXT: andc 3, 4, 38; CHECK-NEXT: cntlzw 3, 39; CHECK-NEXT: rlwinm 3, 3, 27, 31, 3110; CHECK-NEXT: blr11 %and = and i32 %x, %y12 %cmp = icmp eq i32 %and, %y13 ret i1 %cmp14}15 16define i1 @and_cmp_const(i32 %x) {17; CHECK-LABEL: and_cmp_const:18; CHECK: # %bb.0:19; CHECK-NEXT: li 4, 4320; CHECK-NEXT: andc 3, 4, 321; CHECK-NEXT: cntlzw 3, 322; CHECK-NEXT: rlwinm 3, 3, 27, 31, 3123; CHECK-NEXT: blr24 %and = and i32 %x, 4325 %cmp = icmp eq i32 %and, 4326 ret i1 %cmp27}28 29define i1 @foo(i32 %i) {30; CHECK-LABEL: foo:31; CHECK: # %bb.0:32; CHECK-NEXT: lis 4, 466033; CHECK-NEXT: ori 4, 4, 2213634; CHECK-NEXT: andc 3, 4, 335; CHECK-NEXT: cntlzw 3, 336; CHECK-NEXT: rlwinm 3, 3, 27, 31, 3137; CHECK-NEXT: blr38 %and = and i32 %i, 30541989639 %cmp = icmp eq i32 %and, 30541989640 ret i1 %cmp41}42 43define <4 x i32> @hidden_not_v4i32(<4 x i32> %x) {44; CHECK-LABEL: hidden_not_v4i32:45; CHECK: # %bb.0:46; CHECK-NEXT: vspltisw 3, 647; CHECK-NEXT: xxlandc 34, 35, 3448; CHECK-NEXT: blr49 %xor = xor <4 x i32> %x, <i32 15, i32 15, i32 15, i32 15>50 %and = and <4 x i32> %xor, <i32 6, i32 6, i32 6, i32 6>51 ret <4 x i32> %and52}53 54