[
V{
+ T{ ##peek f 1 D 0 }
T{ ##box-alien f 0 1 }
T{ ##load-integer f 2 16 }
T{ ##box-displaced-alien f 3 2 0 c-ptr }
}
] [
V{
+ T{ ##peek f 1 D 0 }
T{ ##box-alien f 0 1 }
T{ ##load-integer f 2 16 }
T{ ##box-displaced-alien f 3 2 0 c-ptr }
! Various SIMD simplifications
[
V{
+ T{ ##peek f 0 D 0 }
T{ ##vector>scalar f 1 0 float-4-rep }
T{ ##copy f 2 0 any-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
T{ ##vector>scalar f 1 0 float-4-rep }
T{ ##scalar>vector f 2 1 float-4-rep }
} value-number-bb
[
V{
+ T{ ##peek f 0 D 0 }
T{ ##shuffle-vector-imm f 1 0 { 1 2 3 0 } float-4-rep }
T{ ##shuffle-vector-imm f 2 0 { 0 2 3 1 } float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
T{ ##shuffle-vector-imm f 1 0 { 1 2 3 0 } float-4-rep }
T{ ##shuffle-vector-imm f 2 1 { 3 1 2 0 } float-4-rep }
} value-number-bb
[
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##fill-vector f 3 float-4-rep }
T{ ##xor-vector f 4 0 3 float-4-rep }
T{ ##andn-vector f 5 0 1 float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##fill-vector f 3 float-4-rep }
T{ ##xor-vector f 4 0 3 float-4-rep }
T{ ##and-vector f 5 4 1 float-4-rep }
[
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##not-vector f 4 0 float-4-rep }
T{ ##andn-vector f 5 0 1 float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##not-vector f 4 0 float-4-rep }
T{ ##and-vector f 5 4 1 float-4-rep }
} value-number-bb
[
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##fill-vector f 3 float-4-rep }
T{ ##xor-vector f 4 0 3 float-4-rep }
T{ ##andn-vector f 5 0 1 float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##fill-vector f 3 float-4-rep }
T{ ##xor-vector f 4 0 3 float-4-rep }
T{ ##and-vector f 5 1 4 float-4-rep }
[
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##not-vector f 4 0 float-4-rep }
T{ ##andn-vector f 5 0 1 float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##not-vector f 4 0 float-4-rep }
T{ ##and-vector f 5 1 4 float-4-rep }
} value-number-bb
[
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##fill-vector f 3 float-4-rep }
T{ ##xor-vector f 4 0 3 float-4-rep }
T{ ##and-vector f 5 0 1 float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##fill-vector f 3 float-4-rep }
T{ ##xor-vector f 4 0 3 float-4-rep }
T{ ##andn-vector f 5 4 1 float-4-rep }
[
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##not-vector f 4 0 float-4-rep }
T{ ##and-vector f 5 0 1 float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
T{ ##not-vector f 4 0 float-4-rep }
T{ ##andn-vector f 5 4 1 float-4-rep }
} value-number-bb
[
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
+ T{ ##peek f 2 D 2 }
T{ ##fill-vector f 3 float-4-rep }
T{ ##xor-vector f 4 0 3 float-4-rep }
T{ ##andn-vector f 5 0 1 float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
+ T{ ##peek f 2 D 2 }
T{ ##fill-vector f 3 float-4-rep }
T{ ##xor-vector f 4 0 3 float-4-rep }
T{ ##and-vector f 5 4 1 float-4-rep }
[
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
+ T{ ##peek f 2 D 2 }
T{ ##not-vector f 4 0 float-4-rep }
T{ ##andn-vector f 5 0 1 float-4-rep }
T{ ##and-vector f 6 0 2 float-4-rep }
}
] [
V{
+ T{ ##peek f 0 D 0 }
+ T{ ##peek f 1 D 1 }
+ T{ ##peek f 2 D 2 }
T{ ##not-vector f 4 0 float-4-rep }
T{ ##and-vector f 5 4 1 float-4-rep }
T{ ##andn-vector f 6 4 2 float-4-rep }