Mercurial > hg > Members > tobaru > cbc > CbC_llvm
view test/CodeGen/AArch64/neon-or-combine.ll @ 117:facf19d07cd9
check EHStack on EmitCall (CbC goto)
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 24 Aug 2016 20:10:41 +0900 |
parents | 54457678186b |
children |
line wrap: on
line source
; RUN: llc < %s -mtriple=aarch64-none-linux-gnu -mattr=+neon | FileCheck %s ; Check that the DAGCombiner does not crash with an assertion failure ; when performing a target specific combine to simplify a 'or' dag node ; according to the following rule: ; (or (and B, A), (and C, ~A)) => (VBSL A, B, C) ; The assertion failure was caused by an invalid comparison between APInt ; values with different 'BitWidth'. define <8 x i8> @test1(<8 x i8> %a, <8 x i8> %b) { %tmp1 = and <8 x i8> %a, < i8 -1, i8 -1, i8 0, i8 0, i8 -1, i8 -1, i8 0, i8 0 > %tmp2 = and <8 x i8> %b, < i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0 > %tmp3 = or <8 x i8> %tmp1, %tmp2 ret <8 x i8> %tmp3 } ; CHECK-LABEL: test1 ; CHECK: ret define <16 x i8> @test2(<16 x i8> %a, <16 x i8> %b) { %tmp1 = and <16 x i8> %a, < i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1, i8 -1 > %tmp2 = and <16 x i8> %b, < i8 -1, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0, i8 0 > %tmp3 = or <16 x i8> %tmp1, %tmp2 ret <16 x i8> %tmp3 } ; CHECK-LABEL: test2 ; CHECK: ret