From: Hao Liu Date: Wed, 21 Aug 2013 17:47:53 +0000 (+0000) Subject: A minor change for an obvous problem caused by r188451: X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=52d35c24600186790d83a0830ebdc79fb71f878d;p=oota-llvm.git A minor change for an obvous problem caused by r188451: def imm0_63 : Operand, ImmLeaf= 0 && Imm < 63;}]>{ As it seems Imm <63 should be Imm <= 63. ImmLeaf is used in pattern match, but there is already a function check the shift amount range, so just remove ImmLeaf. Also add a test to check 63. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@188911 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Target/AArch64/AArch64InstrNEON.td b/lib/Target/AArch64/AArch64InstrNEON.td index 175c3aa656b..fb6d65450de 100644 --- a/lib/Target/AArch64/AArch64InstrNEON.td +++ b/lib/Target/AArch64/AArch64InstrNEON.td @@ -1414,7 +1414,7 @@ def FMOVvi_2D : NeonI_FMOV_impl<".2d", VPR128, v2f64, fmov64_operand, 0b1, 0b1>; // Vector Shift (Immediate) -def imm0_63 : Operand, ImmLeaf= 0 && Imm < 63; }]> { +def imm0_63 : Operand { let ParserMatchClass = uimm6_asmoperand; } diff --git a/test/CodeGen/AArch64/neon-shift.ll b/test/CodeGen/AArch64/neon-shift.ll index 9b11ba858e9..1b8b9416738 100644 --- a/test/CodeGen/AArch64/neon-shift.ll +++ b/test/CodeGen/AArch64/neon-shift.ll @@ -181,8 +181,8 @@ define <4 x i32> @test_shl_v4i32(<4 x i32> %a) { define <2 x i64> @test_shl_v2i64(<2 x i64> %a) { ; CHECK: test_shl_v2i64: -; CHECK: shl {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #3 - %tmp = shl <2 x i64> %a, +; CHECK: shl {{v[0-9]+}}.2d, {{v[0-9]+}}.2d, #63 + %tmp = shl <2 x i64> %a, ret <2 x i64> %tmp }