mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-26 12:43:36 +01:00
a8970e620f
Fix an assertion when the compiler encounters big constants whose bit width is not a multiple of 64-bits. Although clang would never generate something like this, the backend should be able to handle any legal IR. <rdar://problem/13363576> llvm-svn: 183544
19 lines
502 B
LLVM
19 lines
502 B
LLVM
; RUN: llc -mtriple=thumbv7-unknown-unknown < %s | FileCheck %s
|
|
; Check assembly printing of odd constants.
|
|
|
|
; CHECK: bigCst:
|
|
; CHECK-NEXT: .long 1694510592
|
|
; CHECK-NEXT: .long 2960197
|
|
; CHECK-NEXT: .long 26220
|
|
; CHECK-NEXT: .size bigCst, 12
|
|
|
|
@bigCst = internal constant i82 483673642326615442599424
|
|
|
|
define void @accessBig(i64* %storage) {
|
|
%addr = bitcast i64* %storage to i82*
|
|
%bigLoadedCst = load volatile i82* @bigCst
|
|
%tmp = add i82 %bigLoadedCst, 1
|
|
store i82 %tmp, i82* %addr
|
|
ret void
|
|
}
|