Home | History | Annotate | Download | only in Mips
      1 ; RUN: llc -no-integrated-as -march=mipsel < %s | \
      2 ; RUN:     FileCheck %s -check-prefixes=ALL,GAS
      3 ; RUN: llc -march=mipsel < %s | FileCheck %s -check-prefixes=ALL,IAS
      4 
      5 define void @constraint_I() nounwind {
      6 ; First I with short
      7 ; ALL-LABEL: constraint_I:
      8 ; ALL:           #APP
      9 ; ALL:           addiu ${{[0-9]+}}, ${{[0-9]+}}, 4096
     10 ; ALL:           #NO_APP
     11   tail call i16 asm sideeffect "addiu $0, $1, $2", "=r,r,I"(i16 7, i16 4096) nounwind
     12 
     13 ; Then I with int
     14 ; ALL: #APP
     15 ; ALL: addiu ${{[0-9]+}}, ${{[0-9]+}}, -3
     16 ; ALL: #NO_APP
     17   tail call i32 asm sideeffect "addiu $0, $1, $2", "=r,r,I"(i32 7, i32 -3) nounwind
     18   ret void
     19 }
     20 
     21 define void @constraint_J() nounwind {
     22 ; Now J with 0
     23 ; ALL-LABEL: constraint_J:
     24 ; ALL: #APP
     25 ; ALL: addiu ${{[0-9]+}}, ${{[0-9]+}}, 0
     26 ; ALL: #NO_APP
     27   tail call i32 asm sideeffect "addiu $0, $1, $2\0A\09 ", "=r,r,J"(i32 7, i16 0) nounwind
     28   ret void
     29 }
     30 
     31 define void @constraint_K() nounwind {
     32 ; Now K with 64
     33 ; ALL: #APP
     34 ; GAS: addu ${{[0-9]+}}, ${{[0-9]+}}, 64
     35 ; IAS: addiu ${{[0-9]+}}, ${{[0-9]+}}, 64
     36 ; ALL: #NO_APP	
     37   tail call i16 asm sideeffect "addu $0, $1, $2\0A\09 ", "=r,r,K"(i16 7, i16 64) nounwind
     38   ret void
     39 }
     40 
     41 define void @constraint_L() nounwind {
     42 ; Now L with 0x00100000
     43 ; ALL: #APP
     44 ; ALL: add ${{[0-9]+}}, ${{[0-9]+}}, ${{[0-9]+}}
     45 ; ALL: #NO_APP	
     46   tail call i32 asm sideeffect "add $0, $1, $3\0A\09", "=r,r,L,r"(i32 7, i32 1048576, i32 0) nounwind
     47   ret void
     48 }
     49 
     50 define void @constraint_N() nounwind {
     51 ; Now N with -3
     52 ; ALL: #APP
     53 ; ALL: addiu ${{[0-9]+}}, ${{[0-9]+}}, -3
     54 ; ALL: #NO_APP	
     55   tail call i32 asm sideeffect "addiu $0, $1, $2", "=r,r,N"(i32 7, i32 -3) nounwind
     56   ret void
     57 }
     58 
     59 define void @constraint_O() nounwind {
     60 ; Now O with -3
     61 ; ALL: #APP
     62 ; ALL: addiu ${{[0-9]+}}, ${{[0-9]+}}, -3
     63 ; ALL: #NO_APP	
     64   tail call i32 asm sideeffect "addiu $0, $1, $2", "=r,r,O"(i32 7, i16 -3) nounwind
     65   ret void
     66 }
     67 
     68 define void @constraint_P() nounwind {
     69 ; Now P with 65535
     70 ; ALL: #APP
     71 ; GAS: addiu ${{[0-9]+}}, ${{[0-9]+}}, 65535
     72 ; ALL: #NO_APP
     73   tail call i32 asm sideeffect "addiu $0, $1, $2", "=r,r,P"(i32 7, i32 65535) nounwind
     74   ret void
     75 }
     76