Skip to content

Commit 92e26fa

Browse files
committed
Defined two new ILI opcodes, IL_PDFIX and IL_PDFIXX. These will be
used to implement the vectorization of IL_DFIX ILIs, i.e. real*8 to integer*4 type conversions.
1 parent 343f257 commit 92e26fa

File tree

1 file changed

+16
-2
lines changed
  • tools/flang2/utils/ilitp/x86_64

1 file changed

+16
-2
lines changed

tools/flang2/utils/ilitp/x86_64/ilitp.n

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1295,12 +1295,14 @@ Unsigned integer*8 to real*8 type conversion.
12951295
.CG notAILI
12961296

12971297
.IL PDFLOATK arlnk xmm nme
1298-
Convert 2 integer*8 values from 'arlnk' into 2 real*8 values in 'xmm'.
1298+
AVX512-DQ instruction to convert packed integer*8 values from 'arlnk'
1299+
into real*8 values in 'xmm'.
12991300
.AT other null trm ssenme
13001301
.CG terminal notAILI
13011302

13021303
.IL PDFLOATKX xmm xmm
1303-
Convert 2 integer*8 values from 'xmm1' into 2 real*8 values in 'xmm2'.
1304+
AVX512-DQ instruction to convert packed integer*8 values from 'xmm1'
1305+
into real*8 values in 'xmm2'.
13041306
.AT other null trm
13051307
.CG terminal notAILI
13061308

@@ -1355,6 +1357,18 @@ KIMV combination.
13551357
.AT arth null ir cse
13561358
.CG notCG
13571359

1360+
.IL PDFIX arlnk xmm nme
1361+
Convert 2 real*8 values from 'arlnk' into 2 integer*4 values in the
1362+
low half of 'xmm'.
1363+
.AT other null trm ssenme
1364+
.CG terminal "cvttpd2dq" avx_special
1365+
1366+
.IL PDFIXX xmm xmm
1367+
Convert 2 real*8 values from 'xmm1' into 2 integer*4 values in the low
1368+
half of 'xmm2'.
1369+
.AT other null trm
1370+
.CG terminal "cvttpd2dq" avx_special
1371+
13581372

13591373
.IL DFIXK dplnk
13601374
Real*8 to to integer*8 type conversion.

0 commit comments

Comments
 (0)