Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(999)

Unified Diff: src/trusted/validator_x86/testdata/64/sse.tf

Issue 10908137: (abandoned) Validator tests: convert hexes to TFs and run on bots (for prod. validator only) (Closed) Base URL: svn://svn.chromium.org/native_client/trunk/src/native_client
Patch Set: restore 'read overflow' and 'SegmentationError' Created 8 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/trusted/validator_x86/testdata/64/sse.tf
diff --git a/src/trusted/validator_x86/testdata/64/sse.tf b/src/trusted/validator_x86/testdata/64/sse.tf
new file mode 100644
index 0000000000000000000000000000000000000000..b49f54a89f830d187e485eacef62759e04ffa2cb
--- /dev/null
+++ b/src/trusted/validator_x86/testdata/64/sse.tf
@@ -0,0 +1,319 @@
+BITS: 64
+OUTCOME: invalid
+
+# Test SSE instructions
+# SSE
+# addps %xmm0,%xmm1
+asm: addps %xmm0,%xmm1
+hex: 0f 58 c8
+
+# subss %xmm0,%xmm1
+asm: subss %xmm0,%xmm1
+hex: f3 0f 5c c8
+
+# pmaxsw %xmm0,%xmm1
+asm: pmaxsw %xmm0,%xmm1
+hex: 66 0f ee c8
+
+# pminub %xmm0,%xmm1
+asm: pminub %xmm0,%xmm1
+hex: 66 0f da c8
+
+# pinsrw $0x1,%eax,%xmm0
+asm: pinsrw $0x1,%eax,%xmm0
+hex: 66 0f c4 c0 01
+
+# pmovmskb %xmm0,%eax
+asm: pmovmskb %xmm0,%eax
+hex: 66 0f d7 c0
+
+# pmulhuw %xmm0,%xmm1
+asm: pmulhuw %xmm0,%xmm1
+hex: 66 0f e4 c8
+
+# comiss %xmm0,%xmm1
+asm: comiss %xmm0,%xmm1
+hex: 0f 2f c8
+
+
+# Nop for bundle alignment.
+asm: nop
+hex: 90
+
+
+# cvtps2pi %xmm1,%mm0
+asm: cvtps2pi %xmm1,%mm0
+hex: 0f 2d c1
+
+# ldmxcsr (%rsp)
+asm: ldmxcsr (%rsp)
+hex: 0f ae 14 24
+
+# stmxcsr (%rsp)
+asm: stmxcsr (%rsp)
+hex: 0f ae 1c 24
+
+# movaps %xmm0,%xmm1
+asm: movaps %xmm0,%xmm1
+hex: 0f 28 c8
+
+# movmskps %xmm1,%eax
+asm: movmskps %xmm1,%eax
+hex: 0f 50 c1
+
+# movntps %xmm0,(%rsp)
+asm: movntps %xmm0,(%rsp)
+hex: 0f 2b 04 24
+
+# shufps $0x1,%xmm0,%xmm1
+asm: shufps $0x1,%xmm0,%xmm1
+hex: 0f c6 c8 01
+
+# unpcklps %xmm0,%xmm1
+asm: unpcklps %xmm0,%xmm1
+hex: 0f 14 c8
+
+# sfence
+asm: sfence
+hex: 0f ae f8
+
+# prefetcht2 (%rsp)
+asm: prefetcht2 (%rsp)
+hex: 0f 18 1c 24
+nc_out: [at +1] Bad basic block alignment.
+
+
+# SSE2
+# addpd %xmm0,%xmm1
+asm: addpd %xmm0,%xmm1
+hex: 66 0f 58 c8
+
+# maxsd %xmm0,%xmm1
+asm: maxsd %xmm0,%xmm1
+hex: f2 0f 5f c8
+
+# cmpeqpd %xmm0,%xmm1
+asm: cmpeqpd %xmm0,%xmm1
+hex: 66 0f c2 c8 00
+
+# comisd %xmm0,%xmm1
+asm: comisd %xmm0,%xmm1
+hex: 66 0f 2f c8
+
+# cvtpd2dq %xmm0,%xmm1
+asm: cvtpd2dq %xmm0,%xmm1
+hex: f2 0f e6 c8
+
+# movapd %xmm0,%xmm1
+asm: movapd %xmm0,%xmm1
+hex: 66 0f 28 c8
+
+# movmskpd %xmm0,%eax
+asm: movmskpd %xmm0,%eax
+hex: 66 0f 50 c0
+
+# shufpd $0x1,%xmm0,%xmm1
+asm: shufpd $0x1,%xmm0,%xmm1
+hex: 66 0f c6 c8 01
+
+# unpckhpd %xmm0,%xmm1
+asm: unpckhpd %xmm0,%xmm1
+hex: 66 0f 15 c8
+
+# movdq2q %xmm0,%mm1
+asm: movdq2q %xmm0,%mm1
+hex: f2 0f d6 c8
+
+# movdqa %xmm0,%xmm1
+asm: movdqa %xmm0,%xmm1
+hex: 66 0f 6f c8
+
+# paddq %xmm0,%xmm1
+asm: paddq %xmm0,%xmm1
+hex: 66 0f d4 c8
+
+# psrldq $0x1,%xmm0
+asm: psrldq $0x1,%xmm0
+hex: 66 0f 73 d8 01
+
+# pshufd $0x1,%xmm0,%xmm1
+asm: pshufd $0x1,%xmm0,%xmm1
+hex: 66 0f 70 c8 01
+
+
+# Nop for bundle alignment.
+asm: nop
+hex: 90
+
+
+# punpcklqdq %xmm0,%xmm1
+asm: punpcklqdq %xmm0,%xmm1
+hex: 66 0f 6c c8
+
+
+# SSE 3
+# addsubpd %xmm0,%xmm1
+asm: addsubpd %xmm0,%xmm1
+hex: 66 0f d0 c8
+
+# haddps %xmm0,%xmm1
+asm: haddps %xmm0,%xmm1
+hex: f2 0f 7c c8
+
+# movshdup %xmm0,%xmm1
+asm: movshdup %xmm0,%xmm1
+hex: f3 0f 16 c8
+
+
+# SSSE3
+# psignb %xmm0,%xmm1
+asm: psignb %xmm0,%xmm1
+hex: 66 0f 38 08 c8
+
+# pshufb %xmm0,%xmm1
+asm: pshufb %xmm0,%xmm1
+hex: 66 0f 38 00 c8
+
+# pmaddubsw %xmm0,%xmm1
+asm: pmaddubsw %xmm0,%xmm1
+hex: 66 0f 38 04 c8
+
+# phaddd %xmm0,%xmm1
+asm: phaddd %xmm0,%xmm1
+hex: 66 0f 38 02 c8
+nc_out: [at +1] Bad basic block alignment.
+
+# palignr $0x1,%xmm0,%xmm1
+asm: palignr $0x1,%xmm0,%xmm1
+hex: 66 0f 3a 0f c8 01
+
+
+# SSE41
+# mpsadbw $0x1,%xmm0,%xmm1
+asm: mpsadbw $0x1,%xmm0,%xmm1
+hex: 66 0f 3a 42 c8 01
+
+# phminposuw %xmm0,%xmm1
+asm: phminposuw %xmm0,%xmm1
+hex: 66 0f 38 41 c8
+
+# dppd $0x1,%xmm0,%xmm1
+asm: dppd $0x1,%xmm0,%xmm1
+hex: 66 0f 3a 41 c8 01
+
+# blendvpd %xmm0,%xmm0,%xmm1
+asm: blendvpd %xmm0,%xmm0,%xmm1
+hex: 66 0f 38 15 c8
+
+# pmaxuw %xmm0,%xmm1
+asm: pmaxuw %xmm0,%xmm1
+hex: 66 0f 38 3e c8
+
+# insertps $0x1,%xmm0,%xmm1
+asm: insertps $0x1,%xmm0,%xmm1
+hex: 66 0f 3a 21 c8 01
+
+# pmovsxwq %xmm0,%xmm1
+asm: pmovsxwq %xmm0,%xmm1
+hex: 66 0f 38 24 c8
+
+# ptest %xmm0,%xmm1
+asm: ptest %xmm0,%xmm1
+hex: 66 0f 38 17 c8
+
+# packusdw %xmm0,%xmm1
+asm: packusdw %xmm0,%xmm1
+hex: 66 0f 38 2b c8
+
+# movntdqa (%rsp),%xmm0
+asm: movntdqa (%rsp),%xmm0
+hex: 66 0f 38 2a 04 24
+
+
+# SSE4a
+# popcnt %rax,%rax
+asm: popcnt %rax,%rax
+hex: f3 48 0f b8 c0
+
+# lzcnt %rax,%rax
+asm: lzcnt %rax,%rax
+hex: f3 48 0f bd c0
+
+# extrq $0x1,$0x2,%xmm0
+asm: extrq $0x1,$0x2,%xmm0
+hex: 66 0f 78 c0 02 01
+nc_out: ERROR: This instruction has been marked illegal by Native Client
+
+# movntss %xmm0,(%rsp)
+asm: movntss %xmm0,(%rsp)
+hex: f3 0f 2b 04 24
+
+
+# SSE42
+# crc32b %al,%rax
+asm: crc32b %al,%rax
+hex: f2 48 0f 38 f0 c0
+
+
+# Nops for bundle alignment.
+asm: nop; nop; nop; nop; nop
+hex: 90 90 90 90 90
+
+
+# pcmpistri $0x1,%xmm0,%xmm1
+asm: pcmpistri $0x1,%xmm0,%xmm1
+hex: 66 0f 3a 63 c8 01
+
+# pcmpgtq %xmm0,%xmm1
+asm: pcmpgtq %xmm0,%xmm1
+hex: 66 0f 38 37 c8
+
+
+# AVX FMA
+# vfmaddpd %xmm0,%xmm1,%xmm2,%xmm3
+asm: vfmaddpd %xmm0,%xmm1,%xmm2,%xmm3
+hex: c4 e3 f1 69 d8 20
+nc_out: ERROR: This instruction has been marked illegal by Native Client
+nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction
+
+asm: nop; nop; nop
+hex: 90 90 90
+
+
+# AES
+# aesenc %xmm0,%xmm1
+asm: aesenc %xmm0,%xmm1
+hex: 66 0f 38 dc c8
+nc_out: ERROR: This instruction has been marked illegal by Native Client
+nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction
+nc_out: [at +4] ERROR: This instruction has been marked illegal by Native Client
+nc_out: [at +4] ERROR: Illegal assignment to RSP
+nc_out: [at +4] ERROR: Illegal change to register RBP
+
+asm: nop; nop; nop
+hex: 90 90 90
+
+# aeskeygenassist $0x1,%xmm0,%xmm1
+asm: aeskeygenassist $0x1,%xmm0,%xmm1
+hex: 66 0f 3a df c8 01
+nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction
+nc_out: ERROR: Use of DATA16 (66) prefix for instruction not allowed by Native Client
+nc_out: [at +4] ERROR: This instruction has been marked illegal by Native Client
+nc_out: [at +4] ERROR: Illegal assignment to RSP
+nc_out: [at +4] ERROR: Illegal change to register RBP
+
+asm: nop; nop
+hex: 90 90
+
+# aesimc %xmm0,%xmm1
+asm: aesimc %xmm0,%xmm1
+hex: 66 0f 38 db c8
+nc_out: ERROR: This instruction has been marked illegal by Native Client
+nc_out: ERROR: Opcode sequence doesn't define a valid x86 instruction
+nc_out: [at +4] ERROR: This instruction has been marked illegal by Native Client
+nc_out: [at +4] ERROR: Illegal assignment to RSP
+nc_out: [at +4] ERROR: Illegal change to register RBP
+
+asm: nop; nop; nop
+hex: 90 90 90
+

Powered by Google App Engine
This is Rietveld 408576698