Changeset 5232
- Timestamp:
- Sep 20, 2006, 3:25:04 AM (18 years ago)
- Location:
- trunk/ccl/compiler/PPC
- Files:
-
- 2 edited
-
PPC32/ppc32-vinsns.lisp (modified) (4 diffs)
-
PPC64/ppc64-vinsns.lisp (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ccl/compiler/PPC/PPC32/ppc32-vinsns.lisp
r5221 r5232 859 859 (define-ppc32-vinsn require-s8 (() 860 860 ((object :lisp)) 861 ((crf0 (:crf 0 )) 862 (crf1 :crf) 861 ((crf :crf) 863 862 (tag :u32))) 864 863 :again 865 (clrlwi. tag object (- ppc32::nbits-in-word ppc32::nlisptagbits))866 864 (slwi tag object (- ppc32::nbits-in-word (+ 8 ppc32::fixnumshift))) 867 (srawi tag tag (- ppc32::nbits-in-word (+ 8 ppc32::fixnumshift)))868 ( cmpw crf1 tag object)869 ( bne- crf1 :bad)870 (beq+ crf 0:got-it)865 (srawi tag tag (- ppc32::nbits-in-word 8 )) 866 (slwi tag tag ppc32::fixnumshift) 867 (cmpw crf tag object) 868 (beq+ crf :got-it) 871 869 :bad 872 870 (uuo_intcerr arch::error-object-not-signed-byte-8 object) … … 889 887 (define-ppc32-vinsn require-s16 (() 890 888 ((object :lisp)) 891 ((crf0 (:crf 0 )) 892 (crf1 :crf) 889 ((crf :crf) 893 890 (tag :u32))) 894 891 :again 895 (clrlwi. tag object (- ppc32::nbits-in-word ppc32::nlisptagbits))896 892 (slwi tag object (- ppc32::nbits-in-word (+ 16 ppc32::fixnumshift))) 897 (srawi tag tag (- ppc32::nbits-in-word (+ 16 ppc32::fixnumshift)))898 ( cmpw crf1 tag object)899 ( bne- crf1 :bad)900 (beq+ crf 0:got-it)893 (srawi tag tag (- ppc32::nbits-in-word 16)) 894 (slwi tag tag ppc32::fixnumshift) 895 (cmpw crf tag object) 896 (beq+ crf :got-it) 901 897 :bad 902 898 (uuo_intcerr arch::error-object-not-signed-byte-16 object) … … 1149 1145 ((src :lisp)) 1150 1146 ((crf :crf))) 1151 (slwi dest src (- 16 ppc32::fixnumshift)) 1152 (srawi dest dest (- 16 ppc32::fixnumshift)) 1147 (slwi dest src (- ppc32::nbits-in-word (+ 16 ppc32::fixnumshift))) 1148 (srawi dest dest (- ppc32::nbits-in-word 16)) 1149 (slwi dest dest ppc32::fixnumshift) 1153 1150 (cmpw crf dest src) 1154 (clrlwi dest src (- ppc32::nbits-in-word ppc32::nlisptagbits))1155 (bne- crf :bad)1156 (cmpwi crf dest ppc32::tag-fixnum)1157 1151 (srawi dest src ppc32::fixnumshift) 1158 1152 (beq+ crf :got-it) … … 1183 1177 ((crf :crf))) 1184 1178 (slwi dest src (- ppc32::nbits-in-word (+ 8 ppc32::fixnumshift))) 1185 (srawi dest dest (- ppc32::nbits-in-word (+ 8 ppc32::fixnumshift))) 1179 (srawi dest dest (- ppc32::nbits-in-word 8)) 1180 (slwi dest src ppc32::fixnumshift) 1186 1181 (cmpw crf dest src) 1187 (clrlwi dest src (- ppc32::nbits-in-word ppc32::nlisptagbits))1188 (bne- crf :bad)1189 (cmpwi crf dest ppc32::tag-fixnum)1190 1182 (srawi dest src ppc32::fixnumshift) 1191 1183 (beq+ crf :got-it) -
trunk/ccl/compiler/PPC/PPC64/ppc64-vinsns.lisp
r5221 r5232 937 937 (define-ppc64-vinsn require-s8 (() 938 938 ((object :lisp)) 939 ((crf0 (:crf 0)) 940 (crf1 :crf) 939 ((crf :crf) 941 940 (tag :s64))) 942 941 :again 943 (clrldi. tag object (- ppc64::nbits-in-word ppc64::nlisptagbits))944 942 (sldi tag object (- ppc64::nbits-in-word (+ 8 ppc64::fixnumshift))) 945 (sradi tag tag (- ppc64::nbits-in-word (+ 8 ppc64::fixnumshift)))946 ( cmpd crf1 tag object)947 ( bne- crf1 :bad)948 (beq+ crf 0:got-it)943 (sradi tag tag (- ppc64::nbits-in-word 8)) 944 (sldi tag tag ppc64::fixnumshift) 945 (cmpd crf tag object) 946 (beq+ crf :got-it) 949 947 :bad 950 948 (uuo_intcerr arch::error-object-not-signed-byte-8 object) … … 967 965 (define-ppc64-vinsn require-s16 (() 968 966 ((object :lisp)) 969 ((crf0 (:crf 0)) 970 (crf1 :crf) 967 ((crf :crf) 971 968 (tag :s64))) 972 969 :again 973 970 (sldi tag object (- ppc64::nbits-in-word (+ 16 ppc64::fixnumshift))) 974 (sradi tag tag (- ppc64::nbits-in-word (+ 16 ppc64::fixnumshift))) 975 (cmpd crf1 tag object) 976 (clrldi. tag object (- ppc64::nbits-in-word ppc64::nlisptagbits)) 977 (bne- crf1 :bad) 978 (beq+ crf0 :got-it) 971 (sradi tag tag (- ppc64::nbits-in-word 16)) 972 (sldi tag tag ppc64::fixnumshift) 973 (cmpd crf tag object) 974 (beq+ crf :got-it) 979 975 :bad 980 976 (uuo_intcerr arch::error-object-not-signed-byte-16 object) … … 997 993 (define-ppc64-vinsn require-s32 (() 998 994 ((object :lisp)) 999 ((crf0 (:crf 0)) 1000 (crf1 :crf) 995 ((crf :crf) 1001 996 (tag :s64))) 1002 997 :again 1003 998 (sldi tag object (- ppc64::nbits-in-word (+ 32 ppc64::fixnumshift))) 1004 (sradi tag tag (- ppc64::nbits-in-word (+ 32 ppc64::fixnumshift))) 1005 (cmpd crf1 tag object) 1006 (clrldi. tag object (- ppc64::nbits-in-word ppc64::nlisptagbits)) 1007 (bne- crf1 :bad) 1008 (beq+ crf0 :got-it) 999 (sradi tag tag (- ppc64::nbits-in-word 32)) 1000 (sldi tag tag ppc64::fixnumshift) 1001 (cmpd crf tag object) 1002 (beq+ crf :got-it) 1009 1003 :bad 1010 1004 (uuo_intcerr arch::error-object-not-signed-byte-32 object) … … 1185 1179 (define-ppc64-vinsn unbox-s32 (((dest :s32)) 1186 1180 ((src :lisp)) 1187 ((crfx (:crf 0)) 1188 (crfy :crf))) 1189 (clrldi. dest src (- ppc64::nbits-in-word ppc64::nlisptagbits)) 1181 ((crf :crf))) 1190 1182 (sldi dest src (- ppc64::nbits-in-word (+ 32 ppc64::fixnumshift))) 1191 (sradi dest dest (- ppc64::nbits-in-word (+ 32 ppc64::fixnumshift)))1192 ( cmpd crfy dest src)1193 ( bne crfx :bad)1183 (sradi dest dest (- ppc64::nbits-in-word 32)) 1184 (sldi dest dest ppc64::fixnumshift) 1185 (cmpd crf dest src) 1194 1186 (sradi dest src ppc64::fixnumshift) 1195 (beq crf y:got-it)1187 (beq crf :got-it) 1196 1188 :bad 1197 1189 (uuo_interr arch::error-object-not-signed-byte-32 src) … … 1214 1206 ((crf :crf))) 1215 1207 (sldi dest src (- ppc64::nbits-in-word (+ 16 ppc64::fixnumshift))) 1216 (sradi dest dest (- ppc64::nbits-in-word (+ 16 ppc64::fixnumshift))) 1208 (sradi dest dest (- ppc64::nbits-in-word 16)) 1209 (sldi dest dest ppc64::fixnumshift) 1217 1210 (cmpd crf dest src) 1218 (clrldi dest src (- ppc64::nbits-in-word ppc64::nlisptagbits))1219 (bne- crf :bad)1220 (cmpdi crf dest ppc64::tag-fixnum)1221 1211 (sradi dest src ppc64::fixnumshift) 1222 1212 (beq+ crf :got-it) … … 1248 1238 ((crf :crf))) 1249 1239 (sldi dest src (- ppc64::nbits-in-word (+ 8 ppc64::fixnumshift))) 1250 (sradi dest dest (- ppc64::nbits-in-word (+ 8 ppc64::fixnumshift))) 1240 (sradi dest dest (- ppc64::nbits-in-word 8)) 1241 (sldi dest dest ppc64::fixnumshift) 1251 1242 (cmpd crf dest src) 1252 (clrldi dest src (- ppc64::nbits-in-word ppc64::nlisptagbits))1253 (bne- crf :bad)1254 (cmpdi crf dest ppc64::tag-fixnum)1255 1243 (sradi dest src ppc64::fixnumshift) 1256 1244 (beq+ crf :got-it)
Note:
See TracChangeset
for help on using the changeset viewer.
