Home | History | Annotate | Download | only in X86
      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