Add i64x2 integer multiplication using AVX512DQ
This commit is contained in:
17
filetests/isa/x86/simd-avx512-arithmetic-binemit.clif
Normal file
17
filetests/isa/x86/simd-avx512-arithmetic-binemit.clif
Normal file
@@ -0,0 +1,17 @@
|
||||
test binemit
|
||||
set enable_simd
|
||||
target x86_64 skylake has_avx512dq=true
|
||||
|
||||
function %imul_i64x2() {
|
||||
block0:
|
||||
[-, %xmm1] v0 = vconst.i64x2 [1 2]
|
||||
[-, %xmm2] v1 = vconst.i64x2 [2 2]
|
||||
[-, %xmm19] v2 = imul v0, v1 ; bin: 62 e2 f5 08 40 da
|
||||
; 62, mandatory EVEX prefix
|
||||
; e2 = 1110 0010, R, X, B are unset (inverted) while R' is set (MSB in %xmm19); mm is set to 0F38
|
||||
; f5 = 1111 0101, W is set (64-bit op), vvvv set to 1 (inverted), bit 2 always set, pp set to 01
|
||||
; 08 = 0000 1000, everything, LL' indicates 128-bit, V' is unset (inverted, %xmm1 has MSB of 0)
|
||||
; 40, opcode (correct)
|
||||
; da = 1100 1010, ModR/M byte using 0b011 from %xmm19 in reg and 0b010 from %xmm2 in r/m
|
||||
return
|
||||
}
|
||||
Reference in New Issue
Block a user