[PATCH] D21836: [AVX512][BUILTIN] Deleting two incorrect lines, conflicting SPEC
michael zuckerman via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 29 06:01:55 PDT 2016
m_zuckerman created this revision.
m_zuckerman added reviewers: AsafBadouh, igorb, delena, craig.topper.
m_zuckerman added a subscriber: cfe-commits.
By SPEC, instruction vpermilps gets IMM bigger than 15.
Below, you can see that IMM can be any number between 0 to 255 include.
SELECT4(src, control){
CASE(control[1:0])
0: tmp[31:0] := src[31:0]
1: tmp[31:0] := src[63:32]
2: tmp[31:0] := src[95:64]
3: tmp[31:0] := src[127:96]
ESAC
RETURN tmp[31:0]
}
tmp_dst[31:0] := SELECT4(a[127:0], imm8[1:0])
tmp_dst[63:32] := SELECT4(a[127:0], imm8[3:2])
tmp_dst[95:64] := SELECT4(a[127:0], imm8[5:4])
tmp_dst[127:96] := SELECT4(a[127:0], imm8[7:6])
FOR j := 0 to 3
i := j*32
IF k[j]
dst[i+31:i] := tmp_dst[i+31:i]
ELSE
dst[i+31:i] := src[i+31:i]
FI
ENDFOR
dst[MAX:128] := 0
http://reviews.llvm.org/D21836
Files:
lib/Sema/SemaChecking.cpp
Index: lib/Sema/SemaChecking.cpp
===================================================================
--- lib/Sema/SemaChecking.cpp
+++ lib/Sema/SemaChecking.cpp
@@ -1389,7 +1389,6 @@
case X86::BI__builtin_ia32_extractf32x4_mask:
case X86::BI__builtin_ia32_extracti32x4_mask:
case X86::BI__builtin_ia32_vpermilpd_mask:
- case X86::BI__builtin_ia32_vpermilps_mask:
case X86::BI__builtin_ia32_extractf64x2_512_mask:
case X86::BI__builtin_ia32_extracti64x2_512_mask:
i = 1; l = 0; u = 3;
@@ -1461,7 +1460,6 @@
case X86::BI__builtin_ia32_roundps256:
case X86::BI__builtin_ia32_roundpd256:
case X86::BI__builtin_ia32_vpermilpd256_mask:
- case X86::BI__builtin_ia32_vpermilps256_mask:
i = 1; l = 0; u = 15;
break;
case X86::BI__builtin_ia32_roundss:
@@ -1566,6 +1564,8 @@
case X86::BI__builtin_ia32_fpclasspd512_mask:
case X86::BI__builtin_ia32_fpclasssd_mask:
case X86::BI__builtin_ia32_fpclassss_mask:
+ case X86::BI__builtin_ia32_vpermilps_mask:
+ case X86::BI__builtin_ia32_vpermilps256_mask:
i = 1; l = 0; u = 255;
break;
case X86::BI__builtin_ia32_palignr:
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D21836.62212.patch
Type: text/x-patch
Size: 1124 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160629/e9a0114b/attachment.bin>
More information about the cfe-commits
mailing list