Mercurial > hg > CbC > CbC_llvm
diff test/MC/Mips/user-macro-argument-separation.s @ 120:1172e4bd9c6f
update 4.0.0
author | mir3636 |
---|---|
date | Fri, 25 Nov 2016 19:14:25 +0900 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/test/MC/Mips/user-macro-argument-separation.s Fri Nov 25 19:14:25 2016 +0900 @@ -0,0 +1,40 @@ +# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \ +# RUN: FileCheck %s +# RUN: llvm-mc %s -triple=mipsel-unknown-linux -show-encoding -mcpu=mips32r2 | \ +# RUN: FileCheck %s +# RUN: llvm-mc %s -triple=mips-unknown-linux -show-encoding -mcpu=mips32r2 | \ +# RUN: FileCheck %s + +# Check that the IAS expands macro instructions in the same way as GAS + +.extern sym +# imm and rs are deliberately swapped to test whitespace separated arguments. +.macro EX2 insn, rd, imm, rs +.ex\@: \insn \rd, \rs, \imm +.endm + +.option pic0 + +EX2 addiu $2, 1 $3 # CHECK: addiu $2, $3, 1 +EX2 addiu $2, ~1 $3 # CHECK: addiu $2, $3, -2 +EX2 addiu $2, ~ 1 $3 # CHECK: addiu $2, $3, -2 +EX2 addiu $2, 1+1 $3 # CHECK: addiu $2, $3, 2 +EX2 addiu $2, 1+ 1 $3 # CHECK: addiu $2, $3, 2 +EX2 addiu $2, 1 +1 $3 # CHECK: addiu $2, $3, 2 +EX2 addiu $2, 1 + 1 $3 # CHECK: addiu $2, $3, 2 +EX2 addiu $2, 1+~1 $3 # CHECK: addiu $2, $3, -1 +EX2 addiu $2, 1+~ 1 $3 # CHECK: addiu $2, $3, -1 +EX2 addiu $2, 1+ ~1 $3 # CHECK: addiu $2, $3, -1 +EX2 addiu $2, 1 +~1 $3 # CHECK: addiu $2, $3, -1 +EX2 addiu $2, 1 +~ 1 $3 # CHECK: addiu $2, $3, -1 +EX2 addiu $2, 1 + ~1 $3 # CHECK: addiu $2, $3, -1 +EX2 addiu $2, 1 + ~ 1 $3 # CHECK: addiu $2, $3, -1 +EX2 addiu $2, 1+(1) $3 # CHECK: addiu $2, $3, 2 +EX2 addiu $2, 1 +(1) $3 # CHECK: addiu $2, $3, 2 +EX2 addiu $2, 1+ (1) $3 # CHECK: addiu $2, $3, 2 +EX2 addiu $2, 1 + (1) $3 # CHECK: addiu $2, $3, 2 +EX2 addiu $2, 1+(1)+1 $3 # CHECK: addiu $2, $3, 3 +EX2 addiu $2, 1 +(1)+1 $3 # CHECK: addiu $2, $3, 3 +EX2 addiu $2, 1+ (1)+1 $3 # CHECK: addiu $2, $3, 3 +EX2 addiu $2, 1 + (1)+1 $3 # CHECK: addiu $2, $3, 3 +nop # CHECK: nop