A8.6.188 STC, STC2
authorJohnny Chen <johnny.chen@apple.com>
Tue, 29 Mar 2011 19:49:38 +0000 (19:49 +0000)
committerJohnny Chen <johnny.chen@apple.com>
Tue, 29 Mar 2011 19:49:38 +0000 (19:49 +0000)
The STC_OPTION and STC2_OPTION instructions should have their coprocessor option enclosed in {}.

rdar://problem/9200661

git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@128478 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrInfo.td
test/MC/Disassembler/ARM/arm-tests.txt

index 2621b3e3b297cf2443e1287d5d1ab3ff2ba9970a..c7960035655ba5910a4ccbdd61c5f19dccead1cb 100644 (file)
@@ -3430,8 +3430,8 @@ multiclass LdStCop<bits<4> op31_28, bit load, string opc> {
   }
 
   def _OPTION : ACI<(outs),
-      (ins nohash_imm:$cop, nohash_imm:$CRd, GPR:$base, i32imm:$option),
-      opc, "\tp$cop, cr$CRd, [$base], $option"> {
+      (ins nohash_imm:$cop, nohash_imm:$CRd, GPR:$base, nohash_imm:$option),
+      opc, "\tp$cop, cr$CRd, [$base], \\{$option\\}"> {
     let Inst{31-28} = op31_28;
     let Inst{24} = 0; // P = 0
     let Inst{23} = 1; // U = 1
@@ -3472,7 +3472,7 @@ multiclass LdStCop<bits<4> op31_28, bit load, string opc> {
 
   def L_OPTION : ACI<(outs),
       (ins nohash_imm:$cop, nohash_imm:$CRd, GPR:$base, nohash_imm:$option),
-      !strconcat(opc, "l"), "\tp$cop, cr$CRd, [$base], $option"> {
+      !strconcat(opc, "l"), "\tp$cop, cr$CRd, [$base], \\{$option\\}"> {
     let Inst{31-28} = op31_28;
     let Inst{24} = 0; // P = 0
     let Inst{23} = 1; // U = 1
index 87b7e988b7700c3f938549d878c576cf825b8be3..65d6206a9e2cbc0c6de6f637349cc333d706c0fc 100644 (file)
 
 # CHECK:       pli     [r3, r1, lsl #2]
 0x01 0xf1 0xd3 0xf6
+
+# CHECK:       stc     p2, cr4, [r9], {157}
+0x9d 0x42 0x89 0xec
+
+# CHECK:       stc2    p2, cr4, [r9], {157}
+0x9d 0x42 0x89 0xfc