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,8 +2184,11 @@ fn define_simd(
|
||||
let ushr_imm = ushr_imm.bind(vector(*ty, sse_vector_size));
|
||||
e.enc_both_inferred(ushr_imm, rec_f_ib.opcodes(*opcodes).rrr(2));
|
||||
|
||||
let sshr_imm = sshr_imm.bind(vector(*ty, sse_vector_size));
|
||||
e.enc_both_inferred(sshr_imm, rec_f_ib.opcodes(*opcodes).rrr(4));
|
||||
// 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));
|
||||
e.enc_both_inferred(sshr_imm, rec_f_ib.opcodes(*opcodes).rrr(4));
|
||||
}
|
||||
}
|
||||
|
||||
// SIMD integer comparisons
|
||||
|
||||
@@ -97,9 +97,3 @@ block0(v0: i32x4 [%xmm4]):
|
||||
[-, %xmm4] v2 = sshr_imm v0, 10 ; bin: 66 0f 72 e4 0a
|
||||
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