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