mirror of
https://github.com/RPCS3/llvm-mirror.git
synced 2024-11-23 19:23:23 +01:00
30a2dcd984
Currently AArch64FastISel crashes if it tries to extend an integer into an MVT::i128. This can happen by creating 128 bit integers like so: typedef unsigned int uint128_t __attribute__((mode(TI))); typedef int sint128_t __attribute__((mode(TI))); This patch makes EmitIntExt check for their presence and then falls back to SelectionDAG. Tests included. rdar://17516686 llvm-svn: 212492
19 lines
411 B
LLVM
19 lines
411 B
LLVM
; RUN: llc -O0 -mtriple=arm64-apple-ios7.0 -mcpu=generic < %s | FileCheck %s
|
|
|
|
; Function Attrs: nounwind ssp
|
|
define void @test1() {
|
|
%1 = sext i32 0 to i128
|
|
call void @test2(i128 %1)
|
|
ret void
|
|
|
|
; The i128 is 0 so the we can test to make sure it is propogated into the x
|
|
; registers that make up the i128 pair
|
|
|
|
; CHECK: mov x0, xzr
|
|
; CHECK: mov x1, x0
|
|
; CHECK: bl _test2
|
|
|
|
}
|
|
|
|
declare void @test2(i128)
|