aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm.peg4
-rw-r--r--test/test.sh4
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"