diff options
author | Peter Maydell <peter.maydell@linaro.org> | 2011-01-27 19:26:50 +0000 |
---|---|---|
committer | Peter Maydell <peter.maydell@linaro.org> | 2011-01-27 19:26:50 +0000 |
commit | 198ce506b82b6596528a223d8911cea14dda5a3c (patch) | |
tree | d03c3060574df4737074ac985e53a10798cf2d4d /arm.risu | |
parent | 55ec6926177c879a49ab81408b9775b2ef65b8d6 (diff) |
Add ARM patterns for VQ(R)DMULH
Diffstat (limited to 'arm.risu')
-rw-r--r-- | arm.risu | 18 |
1 files changed, 18 insertions, 0 deletions
@@ -164,3 +164,21 @@ VQADD_b A1 1111 001 u 0 d sz:2 vn:4 vd:4 0000 n 0 m 1 vm:4 # VQSUB VQSUB_a A1 1111 001 u 0 d sz:2 vn:3 0 vd:3 0 0010 n 1 m 1 vm:3 0 VQSUB_b A1 1111 001 u 0 d sz:2 vn:4 vd:4 0010 n 0 m 1 vm:4 + +# VQ(R)DMULH: vector saturating (rounding) doubling multiply returning high half +# Q=1 case: +VQDMULH_a A1 1111 0010 0 d sz:2 vn:3 0 vd:3 0 1011 n 1 m 0 vm:3 0 { ($sz != 3) && ($sz != 0); } +# Q=0: +VQDMULH_b A1 1111 0010 0 d sz:2 vn:4 vd:4 1011 n 0 m 0 vm:4 { ($sz != 3) && ($sz != 0); } +# scalar form Q=1 +VQDMULH_a A2 1111 001 1 1 d sz:2 vn:3 0 vd:3 0 1100 n 1 m 0 vm:4 { ($sz != 3) && ($sz != 0); } +# scalar, Q=0 +VQDMULH_b A2 1111 001 0 1 d sz:2 vn:4 vd:4 1100 n 1 m 0 vm:4 { ($sz != 3) && ($sz != 0); } + +VQRDMULH_a A1 1111 0011 0 d sz:2 vn:3 0 vd:3 0 1011 n 1 m 0 vm:3 0 { ($sz != 3) && ($sz != 0); } +# Q=0: +VQRDMULH_b A1 1111 0011 0 d sz:2 vn:4 vd:4 1011 n 0 m 0 vm:4 { ($sz != 3) && ($sz != 0); } +# scalar form Q=1 +VQRDMULH_a A2 1111 001 1 1 d sz:2 vn:3 0 vd:3 0 1100 n 1 m 0 vm:4 { ($sz != 3) && ($sz != 0); } +# scalar, Q=0 +VQRDMULH_b A2 1111 001 0 1 d sz:2 vn:4 vd:4 1101 n 1 m 0 vm:4 { ($sz != 3) && ($sz != 0); } |