compiler.cfg.intrinsics.simd: use new ##gather-int-vector insns to construct int vectors when available
parent
8c878ada17
commit
0c27f30475
|
@ -19,6 +19,8 @@ M: ##zero-vector insn-available? rep>> %zero-vector-reps member? ;
|
|||
M: ##fill-vector insn-available? rep>> %fill-vector-reps member? ;
|
||||
M: ##gather-vector-2 insn-available? rep>> %gather-vector-2-reps member? ;
|
||||
M: ##gather-vector-4 insn-available? rep>> %gather-vector-4-reps member? ;
|
||||
M: ##gather-int-vector-2 insn-available? rep>> %gather-int-vector-2-reps member? ;
|
||||
M: ##gather-int-vector-4 insn-available? rep>> %gather-int-vector-4-reps member? ;
|
||||
M: ##store-memory-imm insn-available? rep>> %alien-vector-reps member? ;
|
||||
M: ##shuffle-vector insn-available? rep>> %shuffle-vector-reps member? ;
|
||||
M: ##shuffle-vector-imm insn-available? rep>> %shuffle-vector-imm-reps member? ;
|
||||
|
|
|
@ -593,12 +593,14 @@ PREDICATE: fixnum-vector-rep < int-vector-rep
|
|||
|
||||
: emit-simd-gather-2 ( node -- )
|
||||
{
|
||||
{ fixnum-vector-rep [ ^^gather-int-vector-2 ] }
|
||||
{ fixnum-vector-rep [ ^^gather-vector-2 ] }
|
||||
{ float-vector-rep [ ^^gather-vector-2 ] }
|
||||
} emit-vv-vector-op ;
|
||||
|
||||
: emit-simd-gather-4 ( node -- )
|
||||
{
|
||||
{ fixnum-vector-rep [ ^^gather-int-vector-4 ] }
|
||||
{ fixnum-vector-rep [ ^^gather-vector-4 ] }
|
||||
{ float-vector-rep [ ^^gather-vector-4 ] }
|
||||
} emit-vvvv-vector-op ;
|
||||
|
|
Loading…
Reference in New Issue