Remove non-existent x86 encoding for sshr_imm.i64x2
This instruction does not exist in the SSE2 feature set; it can be added later with an VEX/EVEX encoding.
This commit is contained in:
@@ -2184,9 +2184,12 @@ fn define_simd(
|
|||||||
let ushr_imm = ushr_imm.bind(vector(*ty, sse_vector_size));
|
let ushr_imm = ushr_imm.bind(vector(*ty, sse_vector_size));
|
||||||
e.enc_both_inferred(ushr_imm, rec_f_ib.opcodes(*opcodes).rrr(2));
|
e.enc_both_inferred(ushr_imm, rec_f_ib.opcodes(*opcodes).rrr(2));
|
||||||
|
|
||||||
|
// One exception: PSRAQ does not exist in for 64x2 in SSE2, it requires a higher CPU feature set.
|
||||||
|
if *ty != I64 {
|
||||||
let sshr_imm = sshr_imm.bind(vector(*ty, sse_vector_size));
|
let sshr_imm = sshr_imm.bind(vector(*ty, sse_vector_size));
|
||||||
e.enc_both_inferred(sshr_imm, rec_f_ib.opcodes(*opcodes).rrr(4));
|
e.enc_both_inferred(sshr_imm, rec_f_ib.opcodes(*opcodes).rrr(4));
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// SIMD integer comparisons
|
// SIMD integer comparisons
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -97,9 +97,3 @@ block0(v0: i32x4 [%xmm4]):
|
|||||||
[-, %xmm4] v2 = sshr_imm v0, 10 ; bin: 66 0f 72 e4 0a
|
[-, %xmm4] v2 = sshr_imm v0, 10 ; bin: 66 0f 72 e4 0a
|
||||||
return v2
|
return v2
|
||||||
}
|
}
|
||||||
|
|
||||||
function %sshr_imm_i64x2(i64x2) -> i64x2 {
|
|
||||||
block0(v0: i64x2 [%xmm6]):
|
|
||||||
[-, %xmm6] v2 = sshr_imm v0, 42 ; bin: 66 0f 73 e6 2a
|
|
||||||
return v2
|
|
||||||
}
|
|
||||||
|
|||||||
Reference in New Issue
Block a user