AArch64 & ARM: refactor crypto intrinsics to take scalars
Some of the SHA instructions take a scalar i32 as one argument (largely because they work on 160-bit hash fragments). This wasn't reflected in the IR previously, with ARM and AArch64 choosing different types (<4 x i32> and <1 x i32> respectively) which was ugly. This makes all the affected intrinsics take a uniform "i32", allowing them to become non-polymorphic at the same time. llvm-svn: 200706
Showing
- llvm/include/llvm/IR/IntrinsicsAArch64.td 0 additions, 7 deletionsllvm/include/llvm/IR/IntrinsicsAArch64.td
- llvm/include/llvm/IR/IntrinsicsARM.td 32 additions, 14 deletionsllvm/include/llvm/IR/IntrinsicsARM.td
- llvm/lib/Target/AArch64/AArch64InstrNEON.td 21 additions, 13 deletionsllvm/lib/Target/AArch64/AArch64InstrNEON.td
- llvm/lib/Target/ARM/ARMInstrNEON.td 33 additions, 5 deletionsllvm/lib/Target/ARM/ARMInstrNEON.td
- llvm/test/CodeGen/AArch64/neon-crypto.ll 29 additions, 34 deletionsllvm/test/CodeGen/AArch64/neon-crypto.ll
- llvm/test/CodeGen/ARM/intrinsics-crypto.ll 30 additions, 28 deletionsllvm/test/CodeGen/ARM/intrinsics-crypto.ll
Loading
Please register or sign in to comment