unittests/ASM: Update blendps to test all swizzles

There are sixteen swizzles so it can fit in a single test.
This commit is contained in:
Ryan Houdek committed 2023-10-31 20:06:45 -07:00
1 parent 18065199e3
commit 97b3efa90a
1 file changed
+50 -41
+50 -41
View File
@@ -1,56 +1,65 @@
%ifdef CONFIG
{
"RegData": {
"XMM1": ["0x48510f254d2fa47f", "0x2b5774313a974886"],
"XMM2": ["0x30b556de38c17718", "0x67d29af330ae762c"],
"XMM3": ["0x41029b7f255b4cf4", "0xb76472a37404b890"],
"XMM4": ["0x57fa6daf9af2e91c", "0x8a6789f25ffdc710"],
"XMM5": ["0x4f1694dfa8fb773c", "0x10828c03760078c0"],
"XMM6": ["0x2ef9bb92689712b0", "0x1ea62724c8883dfa"],
"XMM7": ["0x1c86432298df55c8", "0x07f565f98b8db7bc"],
"XMM8": ["0x88b0bd28710f2147", "0x099224327fb5ac38"]
"XMM0": ["0x4054c664c2f837b5", "0x40516053e2d6238e"],
"XMM1": ["0x4044836d7aa25d8d", "0x402a1e1c58255b03"],
"XMM2": ["0x4047ec6bc9d9d346", "0x4035fe425aee6320"],
"XMM3": ["0x4047ec6b7aa25d8d", "0x40154b7d41743e96"],
"XMM4": ["0x403d075a31a4bdba", "0x4050a01882d38477"],
"XMM5": ["0x40334ec17aa25d8d", "0x4056d74082d38477"],
"XMM6": ["0x4047ec6bc7cd898b", "0x40497b1382d38477"],
"XMM7": ["0x4047ec6b7aa25d8d", "0x4037f9ca82d38477"],
"XMM8": ["0x4056a929888f861a", "0x4055031766e43aa8"],
"XMM9": ["0x4058bc1f7aa25d8d", "0x40550317c91d14e4"],
"XMM10": ["0x4047ec6ba10e0221", "0x4055031700bcbe62"],
"XMM11": ["0x4047ec6b7aa25d8d", "0x405503170ed3d85a"],
"XMM12": ["0x40419d2253111f0c", "0x4055031782d38477"],
"XMM13": ["0x40177e287aa25d8d", "0x4055031782d38477"],
"XMM14": ["0x4047ec6b9f16b11c", "0x4055031782d38477"],
"XMM15": ["0x4047ec6b7aa25d8d", "0x4055031782d38477"]
}
}
%endif
lea rdx, [rel .data]
movaps xmm1, [rdx + 16 * 0]
movaps xmm2, [rdx + 16 * 1]
movaps xmm3, [rdx + 16 * 2]
movaps xmm4, [rdx + 16 * 3]
movaps xmm5, [rdx + 16 * 4]
movaps xmm6, [rdx + 16 * 5]
movaps xmm7, [rdx + 16 * 6]
movaps xmm8, [rdx + 16 * 7]
movaps xmm0, [rdx + 16 * 0]
movaps xmm1, [rdx + 16 * 1]
movaps xmm2, [rdx + 16 * 2]
movaps xmm3, [rdx + 16 * 3]
movaps xmm4, [rdx + 16 * 4]
movaps xmm5, [rdx + 16 * 5]
movaps xmm6, [rdx + 16 * 6]
movaps xmm7, [rdx + 16 * 7]
movaps xmm8, [rdx + 16 * 8]
movaps xmm9, [rdx + 16 * 9]
movaps xmm10, [rdx + 16 * 10]
movaps xmm11, [rdx + 16 * 11]
movaps xmm12, [rdx + 16 * 12]
movaps xmm13, [rdx + 16 * 13]
movaps xmm14, [rdx + 16 * 14]
movaps xmm15, [rdx + 16 * 15]
blendps xmm1, [rdx + 16 * 8], 0000b
blendps xmm2, [rdx + 16 * 9], 0001b
blendps xmm3, [rdx + 16 * 10], 0011b
blendps xmm4, [rdx + 16 * 11], 0111b
blendps xmm5, [rdx + 16 * 12], 1111b
blendps xmm6, [rdx + 16 * 13], 1110b
blendps xmm7, [rdx + 16 * 14], 1100b
blendps xmm8, [rdx + 16 * 15], 1000b
blendps xmm0, [rdx + 16 * 16], 0000b
blendps xmm1, [rdx + 16 * 16], 0001b
blendps xmm2, [rdx + 16 * 16], 0010b
blendps xmm3, [rdx + 16 * 16], 0011b
blendps xmm4, [rdx + 16 * 16], 0100b
blendps xmm5, [rdx + 16 * 16], 0101b
blendps xmm6, [rdx + 16 * 16], 0110b
blendps xmm7, [rdx + 16 * 16], 0111b
blendps xmm8, [rdx + 16 * 16], 1000b
blendps xmm9, [rdx + 16 * 16], 1001b
blendps xmm10, [rdx + 16 * 16], 1010b
blendps xmm11, [rdx + 16 * 16], 1011b
blendps xmm12, [rdx + 16 * 16], 1100b
blendps xmm13, [rdx + 16 * 16], 1101b
blendps xmm14, [rdx + 16 * 16], 1110b
blendps xmm15, [rdx + 16 * 16], 1111b
hlt
align 16
; 256bytes of random data
; 512bytes of random data
.data:
db 0x7f, 0xa4, 0x2f, 0x4d, 0x25, 0x0f, 0x51, 0x48, 0x86, 0x48, 0x97, 0x3a, 0x31, 0x74, 0x57, 0x2b
db 0x6b, 0xe8, 0x6d, 0x1f, 0xde, 0x56, 0xb5, 0x30, 0x2c, 0x76, 0xae, 0x30, 0xf3, 0x9a, 0xd2, 0x67
db 0x09, 0xad, 0xe8, 0x3d, 0x53, 0xb9, 0x15, 0xb6, 0x90, 0xb8, 0x04, 0x74, 0xa3, 0x72, 0x64, 0xb7
db 0xad, 0x10, 0xf1, 0x72, 0x4c, 0x6b, 0x42, 0x24, 0x67, 0xa5, 0x15, 0xd4, 0xf2, 0x89, 0x67, 0x8a
db 0x12, 0x66, 0x23, 0x78, 0x81, 0xf8, 0x96, 0x89, 0xa9, 0xa2, 0x3c, 0x3d, 0x82, 0x6b, 0xa2, 0x19
db 0xb0, 0x12, 0x97, 0x68, 0xab, 0x58, 0xf6, 0x00, 0x72, 0x19, 0xd2, 0x1e, 0x03, 0x9d, 0x7d, 0xc9
db 0xc8, 0x55, 0xdf, 0x98, 0x22, 0x43, 0x86, 0x1c, 0xcc, 0xe9, 0x1b, 0x89, 0xda, 0xfe, 0x9b, 0xb2
db 0x47, 0x21, 0x0f, 0x71, 0x28, 0xbd, 0xb0, 0x88, 0x38, 0xac, 0xb5, 0x7f, 0x88, 0x5e, 0xe9, 0xc4
db 0xe4, 0x5b, 0x3e, 0xd0, 0x2a, 0x8c, 0xdf, 0xa7, 0xea, 0x95, 0xd3, 0xc2, 0xee, 0xd1, 0x70, 0x6c
db 0x18, 0x77, 0xc1, 0x38, 0x7b, 0xfc, 0xa9, 0x58, 0x92, 0xe8, 0xc6, 0xcd, 0x07, 0x5d, 0x3d, 0x76
db 0xf4, 0x4c, 0x5b, 0x25, 0x7f, 0x9b, 0x02, 0x41, 0x78, 0x39, 0x9e, 0x3e, 0x4c, 0xa2, 0x79, 0xca
db 0x1c, 0xe9, 0xf2, 0x9a, 0xaf, 0x6d, 0xfa, 0x57, 0x10, 0xc7, 0xfd, 0x5f, 0x20, 0x80, 0xf5, 0x65
db 0x3c, 0x77, 0xfb, 0xa8, 0xdf, 0x94, 0x16, 0x4f, 0xc0, 0x78, 0x00, 0x76, 0x03, 0x8c, 0x82, 0x10
db 0x7f, 0x07, 0xe0, 0x02, 0x92, 0xbb, 0xf9, 0x2e, 0xfa, 0x3d, 0x88, 0xc8, 0x24, 0x27, 0xa6, 0x1e
db 0x04, 0x90, 0xf6, 0xf8, 0x76, 0x0a, 0x4c, 0x94, 0xbc, 0xb7, 0x8d, 0x8b, 0xf9, 0x65, 0xf5, 0x07
db 0x7f, 0xc1, 0x37, 0x78, 0xa1, 0x1f, 0xc4, 0x10, 0x6c, 0x29, 0x5e, 0x7e, 0x32, 0x24, 0x92, 0x09
dq 83.0999,69.50512,41.02678,13.05881,5.35242,21.9932,9.67383,5.32372,29.02872,66.50151,19.30764,91.3633,40.45086,50.96153,32.64489,23.97574,90.64316,24.22547,98.9394,91.21715,90.80143,99.48407,64.97245,74.39838,35.22761,25.35321,5.8732,90.19956,33.03133,52.02952,58.38554,10.17531,47.84703,84.04831,90.02965,65.81329,96.27991,6.64479,25.58971,95.00694,88.1929,37.16964,49.52602,10.27223,77.70605,20.21439,9.8056,41.29389,15.4071,57.54286,9.61117,55.54302,52.90745,4.88086,72.52882,3.0201,56.55091,71.22749,61.84736,88.74295,47.72641,24.17404,33.70564,96.71303