summary refs log tree commit diff
path: root/lisc/isel.c
diff options
context:
space:
mode:
authorQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-08-17 19:00:51 -0400
committerQuentin Carbonneaux <quentin.carbonneaux@yale.edu>2015-09-15 23:01:31 -0400
commit40d0582ee06232bf8290fafca476a3288488743d (patch)
tree7c3e4545237f662f5a40c2a0f42eb3aea7a94cad /lisc/isel.c
parent5668e93147563c824e693255de5e58fdc398a36b (diff)
downloadroux-40d0582ee06232bf8290fafca476a3288488743d.tar.gz
add sign/zero extension operations
Diffstat (limited to 'lisc/isel.c')
-rw-r--r--lisc/isel.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/lisc/isel.c b/lisc/isel.c
index ac0159f..5fbe8d9 100644
--- a/lisc/isel.c
+++ b/lisc/isel.c
@@ -177,6 +177,10 @@ sel(Ins i, Fn *fn)
 	case OXTestl:
 		n = 2;
 		goto Emit;
+	case OSext:
+	case OZext:
+		n = 0;
+		goto Emit;
 	case OAdd:
 	case OSub:
 	case OMul:
@@ -279,6 +283,8 @@ flagi(Ins *i0, Ins *i)
 		case OAnd:
 			return i;
 		case OCopy: /* flag-transparent */
+		case OSext:
+		case OZext:
 		case OStorel:
 		case OStorew:
 		case OStoreb: