mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 11:13:28 +01:00
4cfe4f6645
The code responsible for shl folding in the DAGCombiner was assuming incorrectly that all constants are less than 64 bits. This patch simply changes the way values are compared. It has been reverted previously because of some problems with comparing APInt with raw uint64_t. That has been fixed/changed with r241204. llvm-svn: 241254
10 lines
338 B
LLVM
10 lines
338 B
LLVM
; RUN: llc < %s -march=x86-64 | FileCheck %s
|
|
; RUN: llc < %s -march=x86 | FileCheck %s
|
|
|
|
;CHECK-LABEL: test
|
|
define <2 x i256> @test() {
|
|
%S = shufflevector <2 x i256> zeroinitializer, <2 x i256> <i256 -1, i256 -1>, <2 x i32> <i32 0, i32 2>
|
|
%B = shl <2 x i256> %S, <i256 -1, i256 -1> ; DAG Combiner crashes here
|
|
ret <2 x i256> %B
|
|
}
|