summaryrefslogtreecommitdiff
path: root/src/cmd/5g/gsubr.c
diff options
context:
space:
mode:
authorKai Backman <kaib@golang.org>2009-10-24 22:47:25 -0700
committerKai Backman <kaib@golang.org>2009-10-24 22:47:25 -0700
commitf651e438829b4810f9a797a72295557a3c7d98ef (patch)
treef357ec7b3f185fa4bd6617e1aa94acdee5a32719 /src/cmd/5g/gsubr.c
parente1c34fc6e020d6afef4e8282703f1080a935ce80 (diff)
downloadgolang-f651e438829b4810f9a797a72295557a3c7d98ef.tar.gz
fix conditional branch instructions for unsigned ints and
float. fix sgen endianess in sgen character copying. go/test: passes 97% (336/345) R=rsc http://go/go-review/1015007
Diffstat (limited to 'src/cmd/5g/gsubr.c')
-rw-r--r--src/cmd/5g/gsubr.c36
1 files changed, 24 insertions, 12 deletions
diff --git a/src/cmd/5g/gsubr.c b/src/cmd/5g/gsubr.c
index 44c7e2670..a34320f6f 100644
--- a/src/cmd/5g/gsubr.c
+++ b/src/cmd/5g/gsubr.c
@@ -1188,52 +1188,64 @@ optoas(int op, Type *t)
case CASE(OLT, TINT16):
case CASE(OLT, TINT32):
case CASE(OLT, TINT64):
+ case CASE(OLT, TFLOAT32):
+ case CASE(OLT, TFLOAT64):
+ a = ABLT;
+ break;
+
case CASE(OLT, TUINT8):
case CASE(OLT, TUINT16):
case CASE(OLT, TUINT32):
case CASE(OLT, TUINT64):
- case CASE(OGT, TFLOAT32):
- case CASE(OGT, TFLOAT64):
- a = ABLT;
+ a = ABLO;
break;
case CASE(OLE, TINT8):
case CASE(OLE, TINT16):
case CASE(OLE, TINT32):
case CASE(OLE, TINT64):
+ case CASE(OLE, TFLOAT32):
+ case CASE(OLE, TFLOAT64):
+ a = ABLE;
+ break;
+
case CASE(OLE, TUINT8):
case CASE(OLE, TUINT16):
case CASE(OLE, TUINT32):
case CASE(OLE, TUINT64):
- case CASE(OGE, TFLOAT32):
- case CASE(OGE, TFLOAT64):
- a = ABLE;
+ a = ABLS;
break;
case CASE(OGT, TINT8):
case CASE(OGT, TINT16):
case CASE(OGT, TINT32):
case CASE(OGT, TINT64):
+ case CASE(OGT, TFLOAT32):
+ case CASE(OGT, TFLOAT64):
+ a = ABGT;
+ break;
+
case CASE(OGT, TUINT8):
case CASE(OGT, TUINT16):
case CASE(OGT, TUINT32):
case CASE(OGT, TUINT64):
- case CASE(OLT, TFLOAT32):
- case CASE(OLT, TFLOAT64):
- a = ABGT;
+ a = ABHI;
break;
case CASE(OGE, TINT8):
case CASE(OGE, TINT16):
case CASE(OGE, TINT32):
case CASE(OGE, TINT64):
+ case CASE(OGE, TFLOAT32):
+ case CASE(OGE, TFLOAT64):
+ a = ABGE;
+ break;
+
case CASE(OGE, TUINT8):
case CASE(OGE, TUINT16):
case CASE(OGE, TUINT32):
case CASE(OGE, TUINT64):
- case CASE(OLE, TFLOAT32):
- case CASE(OLE, TFLOAT64):
- a = ABGE;
+ a = ABHS;
break;
case CASE(OCMP, TBOOL):