compiler: tighten (simd-select) output class

Ints and smaller (or shorts and smaller on 32-bit) can be assumed to be fixnums. Fixes #393
db4
Joe Groff 2011-11-12 17:00:39 -08:00
parent dd8dda4f48
commit 4261d8bb8d
1 changed files with 5 additions and 1 deletions

View File

@ -84,7 +84,11 @@ vector>vector-intrinsics [ { byte-array } "default-output-classes" set-word-prop
literal>> scalar-rep-of {
{ float-rep [ float ] }
{ double-rep [ float ] }
[ drop integer ]
{ longlong-scalar-rep [ integer ] }
{ ulonglong-scalar-rep [ integer ] }
{ int-scalar-rep [ cell 8 = [ fixnum ] [ integer ] if ] }
{ uint-scalar-rep [ cell 8 = [ fixnum ] [ integer ] if ] }
[ drop fixnum ]
} case
] [ drop real ] if
<class-info> ;