shithub: sl

Download patch

ref: a2492259ee1e1cea92c307db8b6633e74dd95c86
parent: 29d695db7584ef2787de5e5cf5060f8e0a0e3843
author: Sigrid Solveig Haflínudóttir <sigrid@ftrv.se>
date: Wed Apr 2 13:20:43 EDT 2025

lognot/ash: [su]{8,16} are always unboxed, remove cprim handling

References: https://todo.sr.ht/~ft/sl/46

--- a/src/cvalues.c
+++ b/src/cvalues.c
@@ -1313,10 +1313,6 @@
 		ta = cp_numtype(cp);
 		aptr = cp_data(cp);
 		switch(ta){
-		case T_S8:  return fixnum(~*(s8int *)aptr);
-		case T_U8:  return fixnum(~*(u8int *)aptr & 0xff);
-		case T_S16: return fixnum(~*(s16int*)aptr);
-		case T_U16: return fixnum(~*(u16int*)aptr & 0xffff);
 		case T_S32: return mk_s32(~*(s32int*)aptr);
 		case T_U32: return mk_u32(~*(u32int*)aptr);
 		case T_S64: return mk_s64(~*(s64int*)aptr);
@@ -1379,10 +1375,6 @@
 		if(n < 0){
 			n = -n;
 			switch(ta){
-			case T_S8:  return fixnum((*(s8int *)aptr) >> n);
-			case T_U8:  return fixnum((*(u8int *)aptr) >> n);
-			case T_S16: return fixnum((*(s16int*)aptr) >> n);
-			case T_U16: return fixnum((*(u16int*)aptr) >> n);
 			case T_S32: return mk_s32((*(s32int*)aptr) >> n);
 			case T_U32: return mk_u32((*(u32int*)aptr) >> n);
 			case T_S64: return mk_s64((*(s64int*)aptr) >> n);