Files
clang-p2996/llvm/test/CodeGen/WebAssembly/simd-noopt.ll
Thomas Lively b6dac89c87 [WebAssembly] Fix invalid machine instrs in -O0, verify in tests
Reviewers: aheejin, dschuff

Subscribers: sbc100, jgravelle-google, sunfish, llvm-commits

Differential Revision: https://reviews.llvm.org/D55956

llvm-svn: 349889
2018-12-21 06:58:15 +00:00

21 lines
694 B
LLVM

; RUN: llc < %s -mattr=+simd128,+sign-ext -verify-machineinstrs
;; Ensures fastisel produces valid code when storing and loading split
;; up v2i64 values. This is a regression test for a bug that crashed
;; llc after fastisel produced machineinstrs that used registers that
;; had never been defined.
target datalayout = "e-m:e-p:32:32-i64:64-n32:64-S128"
target triple = "wasm32-unknown-unknown-wasm"
define i64 @foo(<2 x i64> %vec) #0 {
entry:
%vec.addr = alloca <2 x i64>, align 16
store <2 x i64> %vec, <2 x i64>* %vec.addr, align 16
%0 = load <2 x i64>, <2 x i64>* %vec.addr, align 16
%1 = extractelement <2 x i64> %0, i32 0
ret i64 %1
}
attributes #0 = { noinline optnone }