1*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=i686-unknown-linux-gnu %s -o - | FileCheck %s --check-prefix=CHECK32 --check-prefix=CHECK 2*9880d681SAndroid Build Coastguard Worker; RUN: llc -mtriple=x86_64-unknown-linux-gnu %s -o - | FileCheck %s --check-prefix=CHECK64 --check-prefix=CHECK 3*9880d681SAndroid Build Coastguard Worker 4*9880d681SAndroid Build Coastguard Workerdefine void @zero_optsize(i32* %p) optsize { 5*9880d681SAndroid Build Coastguard Workerentry: 6*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %p 7*9880d681SAndroid Build Coastguard Worker ret void 8*9880d681SAndroid Build Coastguard Worker 9*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: zero_optsize: 10*9880d681SAndroid Build Coastguard Worker; CHECK: movl $0 11*9880d681SAndroid Build Coastguard Worker; CHECK: ret 12*9880d681SAndroid Build Coastguard Worker} 13*9880d681SAndroid Build Coastguard Worker 14*9880d681SAndroid Build Coastguard Workerdefine void @minus_one_optsize(i32* %p) optsize { 15*9880d681SAndroid Build Coastguard Workerentry: 16*9880d681SAndroid Build Coastguard Worker store i32 -1, i32* %p 17*9880d681SAndroid Build Coastguard Worker ret void 18*9880d681SAndroid Build Coastguard Worker 19*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: minus_one_optsize: 20*9880d681SAndroid Build Coastguard Worker; CHECK: movl $-1 21*9880d681SAndroid Build Coastguard Worker; CHECK: ret 22*9880d681SAndroid Build Coastguard Worker} 23*9880d681SAndroid Build Coastguard Worker 24*9880d681SAndroid Build Coastguard Worker 25*9880d681SAndroid Build Coastguard Workerdefine void @zero_64(i64* %p) minsize { 26*9880d681SAndroid Build Coastguard Workerentry: 27*9880d681SAndroid Build Coastguard Worker store i64 0, i64* %p 28*9880d681SAndroid Build Coastguard Worker ret void 29*9880d681SAndroid Build Coastguard Worker 30*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: zero_64: 31*9880d681SAndroid Build Coastguard Worker; CHECK32: andl $0 32*9880d681SAndroid Build Coastguard Worker; CHECK32: andl $0 33*9880d681SAndroid Build Coastguard Worker; CHECK64: andq $0 34*9880d681SAndroid Build Coastguard Worker; CHECK: ret 35*9880d681SAndroid Build Coastguard Worker} 36*9880d681SAndroid Build Coastguard Worker 37*9880d681SAndroid Build Coastguard Workerdefine void @zero_32(i32* %p) minsize { 38*9880d681SAndroid Build Coastguard Workerentry: 39*9880d681SAndroid Build Coastguard Worker store i32 0, i32* %p 40*9880d681SAndroid Build Coastguard Worker ret void 41*9880d681SAndroid Build Coastguard Worker 42*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: zero_32: 43*9880d681SAndroid Build Coastguard Worker; CHECK: andl $0 44*9880d681SAndroid Build Coastguard Worker; CHECK: ret 45*9880d681SAndroid Build Coastguard Worker} 46*9880d681SAndroid Build Coastguard Worker 47*9880d681SAndroid Build Coastguard Workerdefine void @zero_16(i16* %p) minsize { 48*9880d681SAndroid Build Coastguard Workerentry: 49*9880d681SAndroid Build Coastguard Worker store i16 0, i16* %p 50*9880d681SAndroid Build Coastguard Worker ret void 51*9880d681SAndroid Build Coastguard Worker 52*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: zero_16: 53*9880d681SAndroid Build Coastguard Worker; CHECK: andw $0 54*9880d681SAndroid Build Coastguard Worker; CHECK: ret 55*9880d681SAndroid Build Coastguard Worker} 56*9880d681SAndroid Build Coastguard Worker 57*9880d681SAndroid Build Coastguard Worker 58*9880d681SAndroid Build Coastguard Workerdefine void @minus_one_64(i64* %p) minsize { 59*9880d681SAndroid Build Coastguard Workerentry: 60*9880d681SAndroid Build Coastguard Worker store i64 -1, i64* %p 61*9880d681SAndroid Build Coastguard Worker ret void 62*9880d681SAndroid Build Coastguard Worker 63*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: minus_one_64: 64*9880d681SAndroid Build Coastguard Worker; CHECK32: orl $-1 65*9880d681SAndroid Build Coastguard Worker; CHECK32: orl $-1 66*9880d681SAndroid Build Coastguard Worker; CHECK64: orq $-1 67*9880d681SAndroid Build Coastguard Worker; CHECK: ret 68*9880d681SAndroid Build Coastguard Worker} 69*9880d681SAndroid Build Coastguard Worker 70*9880d681SAndroid Build Coastguard Workerdefine void @minus_one_32(i32* %p) minsize { 71*9880d681SAndroid Build Coastguard Workerentry: 72*9880d681SAndroid Build Coastguard Worker store i32 -1, i32* %p 73*9880d681SAndroid Build Coastguard Worker ret void 74*9880d681SAndroid Build Coastguard Worker 75*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: minus_one_32: 76*9880d681SAndroid Build Coastguard Worker; CHECK: orl $-1 77*9880d681SAndroid Build Coastguard Worker; CHECK: ret 78*9880d681SAndroid Build Coastguard Worker} 79*9880d681SAndroid Build Coastguard Worker 80*9880d681SAndroid Build Coastguard Workerdefine void @minus_one_16(i16* %p) minsize { 81*9880d681SAndroid Build Coastguard Workerentry: 82*9880d681SAndroid Build Coastguard Worker store i16 -1, i16* %p 83*9880d681SAndroid Build Coastguard Worker ret void 84*9880d681SAndroid Build Coastguard Worker 85*9880d681SAndroid Build Coastguard Worker; CHECK-LABEL: minus_one_16: 86*9880d681SAndroid Build Coastguard Worker; CHECK: orw $-1 87*9880d681SAndroid Build Coastguard Worker; CHECK: ret 88*9880d681SAndroid Build Coastguard Worker} 89