summaryrefslogtreecommitdiff
path: root/sys/src/cmd/6a
diff options
context:
space:
mode:
authorAram Hăvărneanu <aram@mgk.ro>2014-05-30 12:28:01 +0200
committerAram Hăvărneanu <aram@mgk.ro>2014-05-30 12:28:01 +0200
commitbf0d5c8abbe9d4e3a145df29bee8ef2758d01884 (patch)
tree19a0ae52aab138503e959b78be3f1ed89bd72fc0 /sys/src/cmd/6a
parent17d0dea87c80203aaf0199cb33dea0afc4a7f956 (diff)
6a, 6c, 6l: fix copy propagation
Without an explicit signal for a truncation, copy propagation will sometimes propagate a 32-bit truncation and end up overwriting uses of the original 64-bit value. This was independently discovered and fixed in Go. See: http://golang.org/issue/1315 https://codereview.appspot.com/6002043/ Thanks Charles Forsyth for tips and advice.
Diffstat (limited to 'sys/src/cmd/6a')
-rw-r--r--sys/src/cmd/6a/lex.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/src/cmd/6a/lex.c b/sys/src/cmd/6a/lex.c
index f7c4abcd6..b2b6aee44 100644
--- a/sys/src/cmd/6a/lex.c
+++ b/sys/src/cmd/6a/lex.c
@@ -475,6 +475,7 @@ struct
"MOVLQZX", LTYPE3, AMOVLQZX,
"MOVNTIL", LTYPE3, AMOVNTIL,
"MOVNTIQ", LTYPE3, AMOVNTIQ,
+ "MOVQL", LTYPE3, AMOVQL,
"MOVWLSX", LTYPE3, AMOVWLSX,
"MOVWLZX", LTYPE3, AMOVWLZX,
"MOVWQSX", LTYPE3, AMOVWQSX,