Issue 75710
Summary Problem with i128 constant during isel
Labels backend:SystemZ
Assignees uweigand
Reporter JonPsson1
    ```
@a = external dso_local local_unnamed_addr global i64, align 8
@b = external dso_local local_unnamed_addr global i32, align 4

declare dso_local i64 @c() local_unnamed_addr #0

define dso_local void @e() local_unnamed_addr #0 {
  %1 = tail call i64 @c()
  %2 = sext i64 %1 to i128
  %3 = xor i128 %2, 17440380254424117642
  %4 = icmp slt i128 %3, 10
  %5 = zext i1 %4 to i32
  store i32 %5, ptr @b, align 4
  ret void
}
```

llc -mtriple=s390x-linux-gnu -mcpu=z13 ./tc_const.ll -o -
llc: /home/jonas/llvm-project/llvm/include/llvm/ADT/APInt.h:1510: int64_t llvm::APInt::getSExtValue() const: Assertion `getSignificantBits() <= 64 && "Too many bits for int64_t"' failed.

SelectCode(Node); //called on:
t13: i128 = xor t11, Constant:i128<17440380254424117642>


_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to