1*9880d681SAndroid Build Coastguard Worker; RUN: llc < %s -mtriple=powerpc64-apple-darwin | FileCheck %s 2*9880d681SAndroid Build Coastguard Worker 3*9880d681SAndroid Build Coastguard Worker; TODO: These could use 'andc'. 4*9880d681SAndroid Build Coastguard Worker 5*9880d681SAndroid Build Coastguard Workerdefine i1 @and_cmp1(i32 %x, i32 %y) { 6*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: and_cmp1: 7*9880d681SAndroid Build Coastguard Worker; CHECK: ; BB#0: 8*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: and r2, r3, r4 9*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: li r3, 1 10*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: cmpw cr0, r2, r4 11*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: bclr 12, 2, 0 12*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ; BB#1: 13*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: li r3, 0 14*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: blr 15*9880d681SAndroid Build Coastguard Worker; 16*9880d681SAndroid Build Coastguard Worker %and = and i32 %x, %y 17*9880d681SAndroid Build Coastguard Worker %cmp = icmp eq i32 %and, %y 18*9880d681SAndroid Build Coastguard Worker ret i1 %cmp 19*9880d681SAndroid Build Coastguard Worker} 20*9880d681SAndroid Build Coastguard Worker 21*9880d681SAndroid Build Coastguard Workerdefine i1 @and_cmp_const(i32 %x) { 22*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: and_cmp_const: 23*9880d681SAndroid Build Coastguard Worker; CHECK: ; BB#0: 24*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: andi. r2, r3, 43 25*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: li r3, 1 26*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: cmpwi r2, 43 27*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: bclr 12, 2, 0 28*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: ; BB#1: 29*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: li r3, 0 30*9880d681SAndroid Build Coastguard Worker; CHECK-NEXT: blr 31*9880d681SAndroid Build Coastguard Worker; 32*9880d681SAndroid Build Coastguard Worker %and = and i32 %x, 43 33*9880d681SAndroid Build Coastguard Worker %cmp = icmp eq i32 %and, 43 34*9880d681SAndroid Build Coastguard Worker ret i1 %cmp 35*9880d681SAndroid Build Coastguard Worker} 36*9880d681SAndroid Build Coastguard Worker 37