From 169e9ba2b2c78675a0fa5ad8aebb987fe9c00e23 Mon Sep 17 00:00:00 2001 From: Silviu Baranga Date: Fri, 11 May 2012 09:28:27 +0000 Subject: [PATCH] Added the missing bit definition for the 4th bit of the STR (post reg) instruction. It is now set to 0. The patch also sets the unpredictable mask for SEL and SXTB-type instructions. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156609 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Target/ARM/ARMInstrFormats.td | 2 + lib/Target/ARM/ARMInstrInfo.td | 3 + .../ARM/unpredictable-AExtI-arm.txt | 62 +++++++++++++++++++ .../ARM/unpredictable-SEL-arm.txt | 5 ++ 4 files changed, 72 insertions(+) create mode 100644 test/MC/Disassembler/ARM/unpredictable-AExtI-arm.txt create mode 100644 test/MC/Disassembler/ARM/unpredictable-SEL-arm.txt diff --git a/lib/Target/ARM/ARMInstrFormats.td b/lib/Target/ARM/ARMInstrFormats.td index 3af0d3fc327..c8966fb97a4 100644 --- a/lib/Target/ARM/ARMInstrFormats.td +++ b/lib/Target/ARM/ARMInstrFormats.td @@ -827,6 +827,8 @@ class AExtI opcod, dag oops, dag iops, InstrItinClass itin, let Inst{7-4} = 0b0111; let Inst{9-8} = 0b00; let Inst{27-20} = opcod; + + let Unpredictable{9-8} = 0b11; } // Misc Arithmetic instructions. diff --git a/lib/Target/ARM/ARMInstrInfo.td b/lib/Target/ARM/ARMInstrInfo.td index 633b53fefc9..e89c2312fe6 100644 --- a/lib/Target/ARM/ARMInstrInfo.td +++ b/lib/Target/ARM/ARMInstrInfo.td @@ -1614,6 +1614,8 @@ def SEL : AI<(outs GPR:$Rd), (ins GPR:$Rn, GPR:$Rm), DPFrm, NoItinerary, "sel", let Inst{27-20} = 0b01101000; let Inst{7-4} = 0b1011; let Inst{11-8} = 0b1111; + + let Unpredictable{11-8} = 0b1111; } def SEV : AI<(outs), (ins), MiscFrm, NoItinerary, "sev", "", @@ -2429,6 +2431,7 @@ multiclass AI2_stridx