mirror of
https://git.savannah.gnu.org/git/guile.git
synced 2025-06-04 03:00:20 +02:00
Fix 32-bit movi_d
* lightening/x86-sse.c (movi_d): Fix combining of low and high double halves.
This commit is contained in:
parent
b116314591
commit
19da79c8c1
1 changed files with 6 additions and 1 deletions
|
@ -316,6 +316,11 @@ xorpdr(jit_state_t *_jit, int32_t r0, int32_t r1)
|
|||
ssexr(_jit, 0x66, X86_SSE_XOR, r0, r1);
|
||||
}
|
||||
static void
|
||||
orpdr(jit_state_t *_jit, int32_t r0, int32_t r1)
|
||||
{
|
||||
ssexr(_jit, 0x66, X86_SSE_OR, r0, r1);
|
||||
}
|
||||
static void
|
||||
pcmpeqlr(jit_state_t *_jit, int32_t r0, int32_t r1)
|
||||
{
|
||||
ssexr(_jit, 0x66, X86_SSE_EQD, r0, r1);
|
||||
|
@ -410,7 +415,7 @@ movi_d(jit_state_t *_jit, int32_t r0, jit_float64_t i0)
|
|||
pslq(_jit, jit_fpr_regno(freg), 32);
|
||||
movi(_jit, jit_gpr_regno(ireg), data.ii[0]);
|
||||
movdlxr(_jit, r0, jit_gpr_regno(ireg));
|
||||
xorpdr(_jit, r0, jit_fpr_regno(freg));
|
||||
orpdr(_jit, r0, jit_fpr_regno(freg));
|
||||
unget_temp_xpr(_jit);
|
||||
unget_temp_gpr(_jit);
|
||||
#endif
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue