Test t5156:
AVX tuples in MVEX encoding
- Description
-
Disp8*N scaling and broadcasting in AVX MVEX encoding
- Tested procedures
-
IiCompressDisp8
- Source & expected listing
t5156.htm.lst
-
| | EUROASM LIST=ON, DUMP=ON, DUMPWIDTH=30, CPU=X64, SIMD=AVX512, MVEX=ENABLED
| |t5156 PROGRAM FORMAT=BIN, LISTMAP=OFF, LISTGLOBALS=OFF
|[Mode64] |[Mode64] SEGMENT WIDTH=64,PURPOSE=CODE
|00000000: | ; Sf64 {8to8}.
|00000000:62F1F9085A4D01<6 | VCVTPD2PS ZMM1,[RBP+40h],PREFIX=MVEX,OPER=0 ; {8to8}.
|00000007:62F1F9185A4D08<3 | VCVTPD2PS ZMM1,[RBP+40h],PREFIX=MVEX,OPER=1 ; {1to8}.
|0000000E:62F1F9285A4D02<5 | VCVTPD2PS ZMM1,[RBP+40h],PREFIX=MVEX,OPER=2 ; {4to8}.
|00000015: | ; Uf64 {4to8}.
|00000015:62F2F9081B4D02<5 | VBROADCASTF64X4 ZMM1,[RBP+40h],PREFIX=MVEX
|0000001C: | ; Uf64 {1to8}.
|0000001C:62F2F908194D08<3 | VBROADCASTSD ZMM1,[RBP+40h],PREFIX=MVEX
|00000023: | ; Sf64 {8to8}
|00000023:62F1F9085A4D01<6 | VCVTPD2PS ZMM1,[RBP+40h],PREFIX=MVEX,OPER=0 ; {8to8}.
|0000002A:62F1F9185A4D08<3 | VCVTPD2PS ZMM1,[RBP+40h],PREFIX=MVEX,OPER=1 ; {1to8}.
|00000031:62F1F9285A4D02<5 | VCVTPD2PS ZMM1,[RBP+40h],PREFIX=MVEX,OPER=2 ; {4to8}.
|00000038: | ; Ii64 {4to8}
|00000038:62F2F9085B4D02<5 | VBROADCASTi64X4 ZMM1,[RBP+40h],PREFIX=MVEX ; No conversion.
|0000003F: | ; Uf32 {4to16}.
|0000003F:62F279081A4D04<4 | VBROADCASTF32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=0 ; No conversion.
|00000046:62F279381A4D08<3 | VBROADCASTF32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=3 ; Float16 to float32.
|0000004D:62F279481A4D10<2 | VBROADCASTF32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=4 ; Uint8 to float32.
|00000054:62F279581A4D10<2 | VBROADCASTF32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=5 ; Sint8 to float32.
|0000005B:62F279681A4D08<3 | VBROADCASTF32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=6 ; Uint16 to float32.
|00000062:62F279781A4D08<3 | VBROADCASTF32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=7 ; Sint16 to float32.
|00000069: | ; Ui32 {4to16}.
|00000069:62F279085A4D04<4 | VBROADCASTI32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=0 ; No conversion.
|00000070:62F279485A4D10<2 | VBROADCASTI32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=4 ; Uint8 to uint32.
|00000077:62F279585A4D10<2 | VBROADCASTI32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=5 ; Sint8 to uint32.
|0000007E:62F279685A4D08<3 | VBROADCASTI32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=6 ; Uint16 to uint32.
|00000085:62F279785A4D08<3 | VBROADCASTI32X4 ZMM1,[RBP+40h],PREFIX=MVEX,OPER=7 ; Sint16 to uint32.
|0000008C: | ; Sf32
|0000008C:62F16808584D01<6 | VADDPS ZMM1,ZMM2,[RBP+40h],PREFIX=MVEX,OPER=0 ; {16to16}.
|00000093:62F16818584D10<2 | VADDPS ZMM1,ZMM2,[RBP+40h],PREFIX=MVEX,OPER=1 ; {1to16}.
|0000009A:62F16828584D04<4 | VADDPS ZMM1,ZMM2,[RBP+40h],PREFIX=MVEX,OPER=2 ; {4to16}.
|000000A1:62F16838584D02<5 | VADDPS ZMM1,ZMM2,[RBP+40h],PREFIX=MVEX,OPER=3 ; Float16 to float32.
|000000A8:62F16848584D04<4 | VADDPS ZMM1,ZMM2,[RBP+40h],PREFIX=MVEX,OPER=4 ; Uint8 to float32.
|000000AF:62F16868584D02<5 | VADDPS ZMM1,ZMM2,[RBP+40h],PREFIX=MVEX,OPER=6 ; Uint16 to float32.
|000000B6:62F16878584D02<5 | VADDPS ZMM1,ZMM2,[RBP+40h],PREFIX=MVEX,OPER=7 ; Sint16 to float32.
|000000BD: | ; Sf32
|000000BD:62F178085A4D02<5 | VCVTPS2PD ZMM1,[RBP+40h],PREFIX=MVEX,OPER=0 ; {8to8}
|000000C4:62F178185A4D10<2 | VCVTPS2PD ZMM1,[RBP+40h],PREFIX=MVEX,OPER=1 ; {1to8}
|000000CB:62F178285A4D04<4 | VCVTPS2PD ZMM1,[RBP+40h],PREFIX=MVEX,OPER=2 ; {4to8}
|000000D2: | ; Si32
|000000D2:62F17A08E64D02<5 | VCVTDQ2PD ZMM1,[RBP+40h],PREFIX=MVEX,OPER=0 ; {8to8}
|000000D9:62F17A18E64D10<2 | VCVTDQ2PD ZMM1,[RBP+40h],PREFIX=MVEX,OPER=1 ; {1to8}
|000000E0:62F17A28E64D04<4 | VCVTDQ2PD ZMM1,[RBP+40h],PREFIX=MVEX,OPER=2 ; {4to8}
| |ENDPROGRAM t5156
- Expected messages
t5156.out
I0180 Assembling source file "t5156.htm".
I0270 Assembling source "t5156".
I0310 Assembling source pass 1.
I0330 Assembling source pass 2 - final.
I0470 Assembling program "t5156". "t5156.htm"{52}
I0510 Assembling program pass 1. "t5156.htm"{52}
I0530 Assembling program pass 2 - final. "t5156.htm"{52}
I0660 16bit TINY BIN file "t5156.bin" created, size=231. "t5156.htm"{97}
I0650 Program "t5156" assembled in 2 passes with errorlevel 0. "t5156.htm"{97}
I0750 Source "t5156" (115 lines) assembled in 2 passes with errorlevel 0.
I0860 Listing file "t5156.htm.lst" created, size=3805.
I0990 EuroAssembler terminated with errorlevel 0.
▲Back to the top▲