summary refs log tree commit diff
path: root/amd64/isel.c
diff options
context:
space:
mode:
authorEyal Sawady <ecs@d2evs.net>2022-01-17 22:00:48 +0000
committerQuentin Carbonneaux <quentin@c9x.me>2022-01-23 11:43:59 +0100
commite91d12158122b23271ff49de8977c92fef7f3908 (patch)
treeea5051ef69ae917f23249fe7a6adc8569deb3718 /amd64/isel.c
parent367c8215d99054892740ad74c690b106c45ebf60 (diff)
downloadroux-e91d12158122b23271ff49de8977c92fef7f3908.tar.gz
Add a negation instruction
Necessary for floating-point negation, because
`%result = sub 0, %operand` doesn't give the correct sign for 0/-0.
Diffstat (limited to 'amd64/isel.c')
-rw-r--r--amd64/isel.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/amd64/isel.c b/amd64/isel.c
index 0f4c7a5..404b714 100644
--- a/amd64/isel.c
+++ b/amd64/isel.c
@@ -290,6 +290,7 @@ sel(Ins i, ANum *an, Fn *fn)
 	case Ocopy:
 	case Oadd:
 	case Osub:
+	case Oneg:
 	case Omul:
 	case Oand:
 	case Oor: