diff options
author | Jiangning Liu <jiangning.liu@arm.com> | 2013-11-19 01:38:31 +0000 |
---|---|---|
committer | Jiangning Liu <jiangning.liu@arm.com> | 2013-11-19 01:38:31 +0000 |
commit | 01dd5728cc897777da95a7f4672b5a2540d52564 (patch) | |
tree | 26ecc6b579dbd7ef15fccfd61bb52873e3d803b0 /lib/Target/AArch64/AArch64InstrNEON.td | |
parent | e53969b4758274ee833ce3acef37134bcf6554ea (diff) | |
download | external_llvm-01dd5728cc897777da95a7f4672b5a2540d52564.zip external_llvm-01dd5728cc897777da95a7f4672b5a2540d52564.tar.gz external_llvm-01dd5728cc897777da95a7f4672b5a2540d52564.tar.bz2 |
Add predicate for AArch64 crypto instructions.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@195071 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Target/AArch64/AArch64InstrNEON.td')
-rw-r--r-- | lib/Target/AArch64/AArch64InstrNEON.td | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/lib/Target/AArch64/AArch64InstrNEON.td b/lib/Target/AArch64/AArch64InstrNEON.td index 766b0bc..50c3a56 100644 --- a/lib/Target/AArch64/AArch64InstrNEON.td +++ b/lib/Target/AArch64/AArch64InstrNEON.td @@ -7605,6 +7605,7 @@ class NeonI_Cryptoaes_2v<bits<2> size, bits<5> opcode, (v16i8 VPR128:$Rn))))], NoItinerary>{ let Constraints = "$src = $Rd"; + let Predicates = [HasNEON, HasCrypto]; } def AESE : NeonI_Cryptoaes_2v<0b00, 0b00100, "aese", int_arm_neon_aese>; @@ -7632,6 +7633,7 @@ class NeonI_Cryptosha_vv<bits<2> size, bits<5> opcode, (v4i32 VPR128:$Rn))))], NoItinerary> { let Constraints = "$src = $Rd"; + let Predicates = [HasNEON, HasCrypto]; } def SHA1SU1 : NeonI_Cryptosha_vv<0b00, 0b00001, "sha1su1", @@ -7646,7 +7648,9 @@ class NeonI_Cryptosha_ss<bits<2> size, bits<5> opcode, asmop # "\t$Rd, $Rn", [(set (v1i32 FPR32:$Rd), (v1i32 (opnode (v1i32 FPR32:$Rn))))], - NoItinerary>; + NoItinerary> { + let Predicates = [HasNEON, HasCrypto]; +} def SHA1H : NeonI_Cryptosha_ss<0b00, 0b00000, "sha1h", int_arm_neon_sha1h>; @@ -7662,6 +7666,7 @@ class NeonI_Cryptosha3_vvv<bits<2> size, bits<3> opcode, string asmop, (v4i32 VPR128:$Rm))))], NoItinerary> { let Constraints = "$src = $Rd"; + let Predicates = [HasNEON, HasCrypto]; } def SHA1SU0 : NeonI_Cryptosha3_vvv<0b00, 0b011, "sha1su0", @@ -7681,6 +7686,7 @@ class NeonI_Cryptosha3_qqv<bits<2> size, bits<3> opcode, string asmop, (v4i32 VPR128:$Rm))))], NoItinerary> { let Constraints = "$src = $Rd"; + let Predicates = [HasNEON, HasCrypto]; } def SHA256H : NeonI_Cryptosha3_qqv<0b00, 0b100, "sha256h", @@ -7700,6 +7706,7 @@ class NeonI_Cryptosha3_qsv<bits<2> size, bits<3> opcode, string asmop, (v4i32 VPR128:$Rm))))], NoItinerary> { let Constraints = "$src = $Rd"; + let Predicates = [HasNEON, HasCrypto]; } def SHA1C : NeonI_Cryptosha3_qsv<0b00, 0b000, "sha1c", int_aarch64_neon_sha1c>; |