@@ -933,78 +933,6 @@ namespace lsp
933
933
);
934
934
}
935
935
936
- void init_segment_xyz (segment3d_t *s,
937
- float x0, float y0, float z0,
938
- float x1, float y1, float z1
939
- )
940
- {
941
- float x7;
942
-
943
- ARCH_X86_ASM
944
- (
945
- // xmm0 = x0 ? ? ?
946
- // xmm1 = y0 ? ? ?
947
- // xmm2 = z0 ? ? ?
948
- // xmm3 = x1 ? ? ?
949
- // xmm4 = y1 ? ? ?
950
- // xmm5 = z1 ? ? ?
951
- __ASM_EMIT (" movaps %[idm0], %[x7]" ) // xmm7 = 1 0 0 0
952
- __ASM_EMIT (" movlhps %[x1], %[x0]" ) // xmm0 = x0 ? y0 ?
953
- __ASM_EMIT (" movlhps %[x4], %[x3]" ) // xmm3 = x1 ? y1 ?
954
- __ASM_EMIT (" movlhps %[x7], %[x2]" ) // xmm2 = z0 ? 1 0
955
- __ASM_EMIT (" movlhps %[x7], %[x5]" ) // xmm5 = z1 ? 1 0
956
- __ASM_EMIT (" shufps $0xc8, %[x2], %[x0]" ) // xmm2 = x0 y0 z0 0
957
- __ASM_EMIT (" shufps $0xc8, %[x5], %[x3]" ) // xmm5 = x1 y1 z1 0
958
- __ASM_EMIT (" movups %[x2], 0x00(%[s])" )
959
- __ASM_EMIT (" movups %[x5], 0x10(%[s])" )
960
-
961
- : [x0] " +x" (x0), [x1] " +x" (y0), [x2] " +x" (z0),
962
- [x3] " +x" (x1), [x4] " +x" (y1), [x5] " +x" (z1),
963
- [x7] " =&x" (x7)
964
- : [s] " r" (s),
965
- [idm0] " m" (IDENTITY0)
966
- : " memory"
967
- );
968
- }
969
-
970
- void init_segment_p2 (segment3d_t *s, const point3d_t *p1, const point3d_t *p2)
971
- {
972
- float x0, x1;
973
-
974
- ARCH_X86_ASM
975
- (
976
- __ASM_EMIT (" movups 0x00(%[p1]), %[x0]" ) // xmm0 = x0 y0 z0 w0
977
- __ASM_EMIT (" movups 0x00(%[p2]), %[x1]" ) // xmm1 = x1 y1 z1 w1
978
- __ASM_EMIT (" movups %[x0], 0x00(%[s])" )
979
- __ASM_EMIT (" movups %[x1], 0x10(%[s])" )
980
-
981
- : [x0] " =&x" (x0), [x1] " =&x" (x1)
982
- : [s] " r" (s),
983
- [p1] " r" (p1),
984
- [p2] " r" (p2)
985
- : " memory"
986
- );
987
- }
988
-
989
- void init_segment_pv (segment3d_t *s, const point3d_t *p)
990
- {
991
- float x0, x1;
992
-
993
- ARCH_X86_ASM
994
- (
995
- __ASM_EMIT (" movups 0x00(%[p]), %[x0]" ) // xmm0 = x0 y0 z0 w0
996
- __ASM_EMIT (" movups 0x10(%[p]), %[x1]" ) // xmm1 = x1 y1 z1 w1
997
- __ASM_EMIT (" movups %[x0], 0x00(%[s])" )
998
- __ASM_EMIT (" movups %[x1], 0x10(%[s])" )
999
-
1000
- : [x0] " =&x" (x0), [x1] " =&x" (x1)
1001
- : [s] " r" (s),
1002
- [p] " r" (p)
1003
- : " memory"
1004
- );
1005
- }
1006
-
1007
-
1008
936
void init_matrix3d (matrix3d_t *dst, const matrix3d_t *src)
1009
937
{
1010
938
ARCH_X86_ASM
0 commit comments