summaryrefslogtreecommitdiff
path: root/lib/Target/ARM/ARMInstrThumb2.td
diff options
context:
space:
mode:
authorOwen Anderson <resistor@mac.com>2011-09-23 21:57:50 +0000
committerOwen Anderson <resistor@mac.com>2011-09-23 21:57:50 +0000
commit4a713570b60eb5c849d988d68057f6df4d1f3999 (patch)
treee392ff93464a840e63c94e92a634cac3f9bdf096 /lib/Target/ARM/ARMInstrThumb2.td
parent0781c1f700886f94f5430380a5e82d7ccf6bbdc0 (diff)
downloadllvm-4a713570b60eb5c849d988d68057f6df4d1f3999.tar.gz
llvm-4a713570b60eb5c849d988d68057f6df4d1f3999.tar.bz2
llvm-4a713570b60eb5c849d988d68057f6df4d1f3999.tar.xz
Add more fixed bits to USAT16 encoding to filter out incorrect decodings.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@140422 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/ARM/ARMInstrThumb2.td')
-rw-r--r--lib/Target/ARM/ARMInstrThumb2.td4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/Target/ARM/ARMInstrThumb2.td b/lib/Target/ARM/ARMInstrThumb2.td
index 64c62adac3..44804bdbf3 100644
--- a/lib/Target/ARM/ARMInstrThumb2.td
+++ b/lib/Target/ARM/ARMInstrThumb2.td
@@ -2059,13 +2059,13 @@ def t2USAT16: T2SatI<(outs rGPR:$Rd), (ins imm0_15:$sat_imm, rGPR:$Rn),
NoItinerary,
"usat16", "\t$Rd, $sat_imm, $Rn", []>,
Requires<[IsThumb2, HasThumb2DSP]> {
- let Inst{31-27} = 0b11110;
- let Inst{25-22} = 0b1110;
+ let Inst{31-22} = 0b1111001110;
let Inst{20} = 0;
let Inst{15} = 0;
let Inst{21} = 1; // sh = '1'
let Inst{14-12} = 0b000; // imm3 = '000'
let Inst{7-6} = 0b00; // imm2 = '00'
+ let Inst{5-4} = 0b00;
}
def : T2Pat<(int_arm_ssat GPR:$a, imm:$pos), (t2SSAT imm:$pos, GPR:$a, 0)>;