fix the encoding and add testcases for ARM nop, yield, wfe and wfi instructions
authorBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Wed, 26 Jan 2011 13:28:14 +0000 (13:28 +0000)
committerBruno Cardoso Lopes <bruno.cardoso@gmail.com>
Wed, 26 Jan 2011 13:28:14 +0000 (13:28 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@124288 91177308-0d34-0410-b5e6-96231b3b80d8

lib/Target/ARM/ARMInstrThumb2.td
test/MC/ARM/arm_instructions.s
test/MC/ARM/thumb.s
test/MC/ARM/thumb2.s

index 55802bdc49b9d51e1819c6678865bc47a81e083d..a87f09e44246814c8a77caa9778487ba865ac800 100644 (file)
@@ -3157,6 +3157,7 @@ class T2I_hint<bits<8> op7_0, string opc, string asm>
   : T2I<(outs), (ins), NoItinerary, opc, asm,
         [/* For disassembly only; pattern left blank */]> {
   let Inst{31-20} = 0xf3a;
+  let Inst{19-16} = 0b1111;
   let Inst{15-14} = 0b10;
   let Inst{12} = 0;
   let Inst{10-8} = 0b000;
index 40e3342ba574c4bcbe42afccec0fb9dc685b6b0e..4df8270b7d7406aeb453065cfde73b3f37dca2ef 100644 (file)
 
 @ CHECK: qdsub  r1, r2, r3 @ encoding: [0x52,0x10,0x63,0xe1]
         qdsub  r1, r2, r3
+
+@ CHECK: wfe @ encoding: [0x02,0xf0,0x20,0xe3]
+        wfe
+
+@ CHECK: wfi @ encoding: [0x03,0xf0,0x20,0xe3]
+        wfi
+
+@ CHECK: yield @ encoding: [0x01,0xf0,0x20,0xe3]
+        yield
+
+@ CHECK: nop @ encoding: [0x00,0xf0,0x20,0xe3]
+        nop
index 21052576c141992e03e1b6b8e9bf18a7ad1b6e70..5d284c31fe505ef8d2ab6d252b8201b6cd9eaf44 100644 (file)
 @ CHECK: cdp  p7, #1, c1, c1, c1, #4 @ encoding: [0x11,0xee,0x81,0x17]
         cdp  p7, #1, c1, c1, c1, #4
 
+@ CHECK: nop @ encoding: [0x00,0xbf]
+        nop
+
+@ CHECK: yield @ encoding: [0x10,0xbf]
+        yield
+
+@ CHECK: wfe @ encoding: [0x20,0xbf]
+        wfe
+
+@ CHECK: wfi @ encoding: [0x30,0xbf]
+        wfi
index 2fb0369e02358711bb5d3869bcdf96a0fb2de398..b815ad981e5593e0134037a17843b3c34330ac10 100644 (file)
 
 @ CHECK: qdsub  r1, r2, r3 @ encoding: [0x83,0xfa,0xb2,0xf1]
         qdsub  r1, r2, r3
+
+@ CHECK: nop.w @ encoding: [0xaf,0xf3,0x00,0x80]
+        nop.w
+
+@ CHECK: yield.w @ encoding: [0xaf,0xf3,0x01,0x80]
+        yield.w
+
+@ CHECK: wfe.w @ encoding: [0xaf,0xf3,0x02,0x80]
+        wfe.w
+
+@ CHECK: wfi.w @ encoding: [0xaf,0xf3,0x03,0x80]
+        wfi.w
+