diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2011-04-11 12:05:19 +0100 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2011-04-11 12:05:19 +0100 |
commit | 876d0e3098f8f4c57c079f0958437cb3a4835726 (patch) | |
tree | 649f36cd67ede8cd4b6b4221e9d9937f073dc2f0 /arm.risu | |
parent | 5f0daaddb3756aeee70528401781a5105f4b18a7 (diff) |
arm.risu: Add pattern for Neon "1 reg + modified immediate" forms
Diffstat (limited to 'arm.risu')
-rw-r--r-- | arm.risu | 13 |
1 files changed, 13 insertions, 0 deletions
@@ -764,3 +764,16 @@ VPMIN_float A1 1111 0011 0 d 1 sz vn:4 vd:4 1111 n q m 0 vm:4 VRECPS A1 1111 0010 0 d 0 sz vn:4 vd:4 1111 n q m 1 vm:4 VRSQRTS A1 1111 0010 0 d 1 sz vn:4 vd:4 1111 n q m 1 vm:4 +########### Neon 1 reg + modified immediate ############### +# Instructions from the Neon "1 reg + modified immediate" +# space (table A7-14 in DDI0406B) +# We include UNDEF combinations here. There are some +# UNPREDICTABLEs in the constant encoding: +# abcdefgh == 0 and cmode == 001x 010x 011x 101x 110x +########################################################### +# We don't try to break these down into the separate +# VMOV, VORR, VMVN, VBIC ops (which are encoded in 'op' +# and 'cmode'); we just have a single pattern with a constraint +# which avoids the UNPREDICTABLE space. +Vimm A1 1111 001 imm1 1 d 000 imm3:3 vd:4 cmode:4 0 q op 1 imm4:4 \ + !constraints { $imm1 != 0 || $imm3 != 0 || $imm4 != 0 || ($cmode & 0xe) == 0 || ($cmode & 0xe) == 8 || ($cmode & 0xe == 0xe); } |