[llvm-bugs] [Bug 52156] New: Check for incompatible target features
via llvm-bugs
llvm-bugs at lists.llvm.org
Tue Oct 12 10:21:39 PDT 2021
https://bugs.llvm.org/show_bug.cgi?id=52156
Bug ID: 52156
Summary: Check for incompatible target features
Product: libraries
Version: trunk
Hardware: PC
OS: All
Status: NEW
Severity: enhancement
Priority: P
Component: Target Description Classes
Assignee: unassignedbugs at nondot.org
Reporter: lhames at gmail.com
CC: llvm-bugs at lists.llvm.org
In https://llvm.org/PR52031 it was found that the module below passes the
verifier, despite the two functions main and new_function having incompatible
target-features.
If possible, we should have the verifier query the target to detect
incompatible features like this so that they can be quickly reported to users.
module.ll:
define i32 @main() #0 {
br label %1
1: ; preds = %1, %0
%2 = phi i64 [ 0, %0 ], [ %6, %1 ]
%3 = phi <4 x i64> [ <i64 -16, i64 -16, i64 -16, i64 -16>, %0 ], [ %5, %1 ]
%4 = trunc <4 x i64> %3 to <4 x i32>
%5 = call <4 x i64> @new_function(<4 x i64> %3)
%6 = add i64 %2, 1
%7 = icmp eq i64 %6, 2
br i1 %7, label %8, label %1
8: ; preds = %1
%9 = extractelement <4 x i32> %4, i32 3
ret i32 %9
}
define <4 x i64> @new_function(<4 x i64> %0) unnamed_addr {
%2 = add <4 x i64> %0, <i64 16, i64 16, i64 16, i64 16>
ret <4 x i64> %2
}
attributes #0 = { "target-features"="+cx8,+fxsr,+mmx,+sse,+sse2,+x87" }
--
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20211012/8500e62c/attachment.html>
More information about the llvm-bugs
mailing list