From d0bfca3339527c692831fc54c9b81bb24de59945 Mon Sep 17 00:00:00 2001 From: Andrew Chambers Date: Wed, 20 Oct 2021 15:25:05 +1300 Subject: Fix misassembly. --- asm.peg | 4 ++-- test/test.sh | 4 ++++ 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/asm.peg b/asm.peg index 4cabefa..3bc49d1 100644 --- a/asm.peg +++ b/asm.peg @@ -743,8 +743,8 @@ cvtss2sd = "cvtss2sd" ( ) cvtsd2ss = "cvtsd2ss" ( - ws s:xmm ws? ',' ws? d:xmm { $$ = REGREG2({.w=0}, 0x010066f3, 0x5a, s, d); } - | ws s:mem ws? ',' ws? d:xmm { $$ = MEMREG ({.w=0}, 0x010066f3, 0x5a, s, d); } + ws s:xmm ws? ',' ws? d:xmm { $$ = REGREG2({.w=0}, 0xf2, 0x01000f5a, s, d); } + | ws s:mem ws? ',' ws? d:xmm { $$ = MEMREG ({.w=0}, 0xf2, 0x01000f5a, s, d); } ) cvttss2si = "cvttss2si" ( diff --git a/test/test.sh b/test/test.sh index 5536d61..c68e469 100644 --- a/test/test.sh +++ b/test/test.sh @@ -69,6 +69,10 @@ t "cvttss2si %xmm10, %rax" t "cvttss2si %xmm1, %eax" t "cvttss2si %xmm10, %eax" +t "cvtsd2ss %xmm0, %xmm0" +t "cvtsd2ss (%rax), %xmm1" +t "cvtsd2ss (%rax), %xmm10" + t "cvtsi2sd %rax, %xmm1" t "cvtsi2sd %rax, %xmm10" t "cvtsi2sd %r9, %xmm10" -- cgit v1.2.3