"trap" pseudo-op turned out to be apple-local.
authorAnton Korobeynikov <asl@math.spbu.ru>
Sat, 15 May 2010 17:19:20 +0000 (17:19 +0000)
committerAnton Korobeynikov <asl@math.spbu.ru>
Sat, 15 May 2010 17:19:20 +0000 (17:19 +0000)
Temporary emit it as raw bytes until it will be added to binutils as well.

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

lib/Target/ARM/ARMInstrInfo.td
lib/Target/ARM/ARMInstrThumb.td

index 29c474703d3764e3e8cc7c775375124ea85bc9fa..5969d9430c89eec6845f8f9432b1f3c54a1db46e 100644 (file)
@@ -791,8 +791,11 @@ def DBG : AI<(outs), (ins i32imm:$opt), MiscFrm, NoItinerary, "dbg", "\t$opt",
 }
 
 // A5.4 Permanently UNDEFINED instructions.
+// FIXME: Temporary emitted as raw bytes until this pseudo-op will be added to
+// binutils
 let isBarrier = 1, isTerminator = 1 in
-def TRAP : AXI<(outs), (ins), MiscFrm, NoItinerary, "trap", [(trap)]>,
+def TRAP : AXI<(outs), (ins), MiscFrm, NoItinerary, 
+               ".long 0xe7ffdefe @ trap", [(trap)]>,
            Requires<[IsARM]> {
   let Inst{27-25} = 0b011;
   let Inst{24-20} = 0b11111;
index f62de94e5b47b6e02d230195bc00b49dc4a54005..07238d4386ad762c36418bad18459de0fc7f53ea 100644 (file)
@@ -419,8 +419,11 @@ def tSVC : T1pI<(outs), (ins i32imm:$svc), IIC_Br, "svc", "\t$svc", []>,
 
 // A8.6.16 B: Encoding T1
 // If Inst{11-8} == 0b1110 then UNDEFINED
+// FIXME: Temporary emitted as raw bytes until this pseudo-op will be added to
+// binutils
 let isBarrier = 1, isTerminator = 1 in
-def tTRAP : TI<(outs), (ins), IIC_Br, "trap", [(trap)]>, Encoding16 {
+def tTRAP : TI<(outs), (ins), IIC_Br, 
+               ".word 0xdefe @ trap", [(trap)]>, Encoding16 {
   let Inst{15-12} = 0b1101;
   let Inst{11-8} = 0b1110;
 }