b00ed3537fd8b2aea19c980df9a3499d792e4cbb
[platform/upstream/nasm.git] / test / avx512pf.asm
1 ;Testname=avx512pf; Arguments=-fbin -oavx512pf.bin -O0 -DSRC; Files=stdout stderr avx512pf.bin
2 ; AVX-512PF testcases from gas
3 ;------------------------
4 ;
5 ; This file is taken from there
6 ;     https://gnu.googlesource.com/binutils/+/master/gas/testsuite/gas/i386/x86-64-avx512pf-intel.d
7 ; So the original author is "H.J. Lu" <hongjiu dot lu at intel dot com>
8 ;
9 ; Jin Kyu Song converted it for the nasm testing suite using gas2nasm.py
10
11 %macro testcase 2
12  %ifdef BIN
13   db %1
14  %endif
15  %ifdef SRC
16   %2
17  %endif
18 %endmacro
19
20
21 bits 64
22
23 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf0dpd  [r14+ymm31*8+0x7b]\{k1\}                      }
24 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf0dpd  [r14+ymm31*8+0x7b]\{k1\}                      }
25 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x4c, 0x39, 0x20                         }, { vgatherpf0dpd  [r9+ymm31*1+0x100]\{k1\}                      }
26 testcase        { 0x62, 0xb2, 0xfd, 0x41, 0xc6, 0x8c, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vgatherpf0dpd  [rcx+ymm31*4+0x400]\{k1\}                     }
27 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf0dps  [r14+zmm31*8+0x7b]\{k1\}                      }
28 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf0dps  [r14+zmm31*8+0x7b]\{k1\}                      }
29 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x4c, 0x39, 0x40                         }, { vgatherpf0dps  [r9+zmm31*1+0x100]\{k1\}                      }
30 testcase        { 0x62, 0xb2, 0x7d, 0x41, 0xc6, 0x8c, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vgatherpf0dps  [rcx+zmm31*4+0x400]\{k1\}                     }
31 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf0qpd  [r14+zmm31*8+0x7b]\{k1\}                      }
32 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf0qpd  [r14+zmm31*8+0x7b]\{k1\}                      }
33 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x4c, 0x39, 0x20                         }, { vgatherpf0qpd  [r9+zmm31*1+0x100]\{k1\}                      }
34 testcase        { 0x62, 0xb2, 0xfd, 0x41, 0xc7, 0x8c, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vgatherpf0qpd  [rcx+zmm31*4+0x400]\{k1\}                     }
35 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf0qps  [r14+zmm31*8+0x7b]\{k1\}                      }
36 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x8c, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf0qps  [r14+zmm31*8+0x7b]\{k1\}                      }
37 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x4c, 0x39, 0x40                         }, { vgatherpf0qps  [r9+zmm31*1+0x100]\{k1\}                      }
38 testcase        { 0x62, 0xb2, 0x7d, 0x41, 0xc7, 0x8c, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vgatherpf0qps  [rcx+zmm31*4+0x400]\{k1\}                     }
39 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf1dpd  [r14+ymm31*8+0x7b]\{k1\}                      }
40 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf1dpd  [r14+ymm31*8+0x7b]\{k1\}                      }
41 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x54, 0x39, 0x20                         }, { vgatherpf1dpd  [r9+ymm31*1+0x100]\{k1\}                      }
42 testcase        { 0x62, 0xb2, 0xfd, 0x41, 0xc6, 0x94, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vgatherpf1dpd  [rcx+ymm31*4+0x400]\{k1\}                     }
43 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf1dps  [r14+zmm31*8+0x7b]\{k1\}                      }
44 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf1dps  [r14+zmm31*8+0x7b]\{k1\}                      }
45 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x54, 0x39, 0x40                         }, { vgatherpf1dps  [r9+zmm31*1+0x100]\{k1\}                      }
46 testcase        { 0x62, 0xb2, 0x7d, 0x41, 0xc6, 0x94, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vgatherpf1dps  [rcx+zmm31*4+0x400]\{k1\}                     }
47 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf1qpd  [r14+zmm31*8+0x7b]\{k1\}                      }
48 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf1qpd  [r14+zmm31*8+0x7b]\{k1\}                      }
49 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x54, 0x39, 0x20                         }, { vgatherpf1qpd  [r9+zmm31*1+0x100]\{k1\}                      }
50 testcase        { 0x62, 0xb2, 0xfd, 0x41, 0xc7, 0x94, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vgatherpf1qpd  [rcx+zmm31*4+0x400]\{k1\}                     }
51 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf1qps  [r14+zmm31*8+0x7b]\{k1\}                      }
52 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x94, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vgatherpf1qps  [r14+zmm31*8+0x7b]\{k1\}                      }
53 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x54, 0x39, 0x40                         }, { vgatherpf1qps  [r9+zmm31*1+0x100]\{k1\}                      }
54 testcase        { 0x62, 0xb2, 0x7d, 0x41, 0xc7, 0x94, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vgatherpf1qps  [rcx+zmm31*4+0x400]\{k1\}                     }
55 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf0dpd  [r14+ymm31*8+0x7b]\{k1\}                     }
56 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf0dpd  [r14+ymm31*8+0x7b]\{k1\}                     }
57 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x6c, 0x39, 0x20                         }, { vscatterpf0dpd  [r9+ymm31*1+0x100]\{k1\}                     }
58 testcase        { 0x62, 0xb2, 0xfd, 0x41, 0xc6, 0xac, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vscatterpf0dpd  [rcx+ymm31*4+0x400]\{k1\}                    }
59 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf0dps  [r14+zmm31*8+0x7b]\{k1\}                     }
60 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf0dps  [r14+zmm31*8+0x7b]\{k1\}                     }
61 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x6c, 0x39, 0x40                         }, { vscatterpf0dps  [r9+zmm31*1+0x100]\{k1\}                     }
62 testcase        { 0x62, 0xb2, 0x7d, 0x41, 0xc6, 0xac, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vscatterpf0dps  [rcx+zmm31*4+0x400]\{k1\}                    }
63 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf0qpd  [r14+zmm31*8+0x7b]\{k1\}                     }
64 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf0qpd  [r14+zmm31*8+0x7b]\{k1\}                     }
65 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x6c, 0x39, 0x20                         }, { vscatterpf0qpd  [r9+zmm31*1+0x100]\{k1\}                     }
66 testcase        { 0x62, 0xb2, 0xfd, 0x41, 0xc7, 0xac, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vscatterpf0qpd  [rcx+zmm31*4+0x400]\{k1\}                    }
67 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf0qps  [r14+zmm31*8+0x7b]\{k1\}                     }
68 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0xac, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf0qps  [r14+zmm31*8+0x7b]\{k1\}                     }
69 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x6c, 0x39, 0x40                         }, { vscatterpf0qps  [r9+zmm31*1+0x100]\{k1\}                     }
70 testcase        { 0x62, 0xb2, 0x7d, 0x41, 0xc7, 0xac, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vscatterpf0qps  [rcx+zmm31*4+0x400]\{k1\}                    }
71 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf1dpd  [r14+ymm31*8+0x7b]\{k1\}                     }
72 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf1dpd  [r14+ymm31*8+0x7b]\{k1\}                     }
73 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc6, 0x74, 0x39, 0x20                         }, { vscatterpf1dpd  [r9+ymm31*1+0x100]\{k1\}                     }
74 testcase        { 0x62, 0xb2, 0xfd, 0x41, 0xc6, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vscatterpf1dpd  [rcx+ymm31*4+0x400]\{k1\}                    }
75 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf1dps  [r14+zmm31*8+0x7b]\{k1\}                     }
76 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf1dps  [r14+zmm31*8+0x7b]\{k1\}                     }
77 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc6, 0x74, 0x39, 0x40                         }, { vscatterpf1dps  [r9+zmm31*1+0x100]\{k1\}                     }
78 testcase        { 0x62, 0xb2, 0x7d, 0x41, 0xc6, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vscatterpf1dps  [rcx+zmm31*4+0x400]\{k1\}                    }
79 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf1qpd  [r14+zmm31*8+0x7b]\{k1\}                     }
80 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf1qpd  [r14+zmm31*8+0x7b]\{k1\}                     }
81 testcase        { 0x62, 0x92, 0xfd, 0x41, 0xc7, 0x74, 0x39, 0x20                         }, { vscatterpf1qpd  [r9+zmm31*1+0x100]\{k1\}                     }
82 testcase        { 0x62, 0xb2, 0xfd, 0x41, 0xc7, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vscatterpf1qpd  [rcx+zmm31*4+0x400]\{k1\}                    }
83 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf1qps  [r14+zmm31*8+0x7b]\{k1\}                     }
84 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0xb4, 0xfe, 0x7b, 0x00, 0x00, 0x00       }, { vscatterpf1qps  [r14+zmm31*8+0x7b]\{k1\}                     }
85 testcase        { 0x62, 0x92, 0x7d, 0x41, 0xc7, 0x74, 0x39, 0x40                         }, { vscatterpf1qps  [r9+zmm31*1+0x100]\{k1\}                     }
86 testcase        { 0x62, 0xb2, 0x7d, 0x41, 0xc7, 0xb4, 0xb9, 0x00, 0x04, 0x00, 0x00       }, { vscatterpf1qps  [rcx+zmm31*4+0x400]\{k1\}                    }
87 testcase        { 0x0f, 0x0d, 0x11                                                       }, { prefetchwt1 BYTE [rcx]                                       }
88 testcase        { 0x42, 0x0f, 0x0d, 0x94, 0xf0, 0x23, 0x01, 0x00, 0x00                   }, { prefetchwt1 BYTE [rax+r14*8+0x123]                           }