summaryrefslogtreecommitdiff
path: root/sys/src/cmd/6l
diff options
context:
space:
mode:
authorcinap_lenrek <cinap_lenrek@felloff.net>2015-02-17 22:25:55 +0100
committercinap_lenrek <cinap_lenrek@felloff.net>2015-02-17 22:25:55 +0100
commit8210f857f1a35ec285c972c2951e80ce8807f736 (patch)
tree8ede7a4dd5fadc568f9c7f4d828f988a5a620d03 /sys/src/cmd/6l
parenteec5799f4c38c30786031f295a5ab833ab20ee6a (diff)
6l: no need to emit rex.w prefix for MOVBQZX and MOVWQZX
as with 32 bit operand size, the upper bits 63:32 are automatically zeroed in 64bit mode. this gives a shoter instruction encoding.
Diffstat (limited to 'sys/src/cmd/6l')
-rw-r--r--sys/src/cmd/6l/optab.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/src/cmd/6l/optab.c b/sys/src/cmd/6l/optab.c
index c4243b6ca..1a4b25762 100644
--- a/sys/src/cmd/6l/optab.c
+++ b/sys/src/cmd/6l/optab.c
@@ -751,7 +751,7 @@ Optab optab[] =
{ AMOVBLSX, ymb_rl, Pm, 0xbe },
{ AMOVBLZX, ymb_rl, Pm, 0xb6 },
{ AMOVBQSX, ymb_rl, Pw, 0x0f,0xbe },
- { AMOVBQZX, ymb_rl, Pw, 0x0f,0xb6 },
+ { AMOVBQZX, ymb_rl, Py, 0x0f,0xb6 },
{ AMOVBWSX, ymb_rl, Pq, 0xbe },
{ AMOVBWZX, ymb_rl, Pq, 0xb6 },
{ AMOVO, yxmov, Pe, 0x6f,0x7f },
@@ -786,7 +786,7 @@ Optab optab[] =
{ AMOVWLSX, yml_rl, Pm, 0xbf },
{ AMOVWLZX, yml_rl, Pm, 0xb7 },
{ AMOVWQSX, yml_rl, Pw, 0x0f,0xbf },
- { AMOVWQZX, yml_rl, Pw, 0x0f,0xb7 },
+ { AMOVWQZX, yml_rl, Py, 0x0f,0xb7 },
{ AMULB, ydivb, Pb, 0xf6,(04) },
{ AMULL, ydivl, Px, 0xf7,(04) },
{ AMULPD, yxm, Pe, 0x59 },