https://bugs.llvm.org/show_bug.cgi?id=51777

            Bug ID: 51777
           Summary: Hang on thumbv6 code with 64-bit wide integers
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: All
            Status: NEW
          Severity: enhancement
          Priority: P
         Component: Backend: ARM
          Assignee: [email protected]
          Reporter: [email protected]
                CC: [email protected], [email protected],
                    [email protected]

There is this regression between LLVM 8 and LLVM 9 where on the older version
the code compiles fine and on the later it will run indefinitely.

Here's the LLVM-IR:

```
target triple = "thumbv6em-none-unknown-eabihf"

define i64 @func(i64 %arg) {
start:
  %0 = add i64 %arg, 1
  %1 = icmp ult i64 %0, 1           ; only `ult` can be used here fwr
  %2 = select i1 %1, i64 8, i64 0   ; 8 must be a power of 2
  ret i64 %2
}
```

Here's a godbolt link: https://llvm.godbolt.org/z/6Ghefnesr

Does work on thumbv7, but not of any of the thumbv6 architectures.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
_______________________________________________
llvm-bugs mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-bugs

Reply via email to