[llvm] fb76d2c - [ARM] Fix the type for v4f16 duplane
David Green via llvm-commits
llvm-commits at lists.llvm.org
Fri Oct 21 02:10:40 PDT 2022
Author: David Green
Date: 2022-10-21T10:10:35+01:00
New Revision: fb76d2ce6c4ece3a3d0360b75e5b01773159c400
URL: https://github.com/llvm/llvm-project/commit/fb76d2ce6c4ece3a3d0360b75e5b01773159c400
DIFF: https://github.com/llvm/llvm-project/commit/fb76d2ce6c4ece3a3d0360b75e5b01773159c400.diff
LOG: [ARM] Fix the type for v4f16 duplane
This was previously using the 32bit variant of the instruction, instead
of the 16bit as intended.
Fixes #58512
Differential Revision: https://reviews.llvm.org/D136422
Added:
Modified:
llvm/lib/Target/ARM/ARMInstrNEON.td
llvm/test/CodeGen/ARM/armv8.2a-fp16-vector-intrinsics.ll
Removed:
################################################################################
diff --git a/llvm/lib/Target/ARM/ARMInstrNEON.td b/llvm/lib/Target/ARM/ARMInstrNEON.td
index 79d3cf750a87..6b7a4a4281e0 100644
--- a/llvm/lib/Target/ARM/ARMInstrNEON.td
+++ b/llvm/lib/Target/ARM/ARMInstrNEON.td
@@ -6697,7 +6697,7 @@ def VDUPLN32q : VDUPLNQ<{?,1,0,0}, "vdup", "32", v4i32, v2i32, VectorIndex32> {
let Predicates = [HasNEON] in {
def : Pat<(v4f16 (ARMvduplane (v4f16 DPR:$Vm), imm:$lane)),
- (VDUPLN32d DPR:$Vm, imm:$lane)>;
+ (VDUPLN16d DPR:$Vm, imm:$lane)>;
def : Pat<(v2f32 (ARMvduplane (v2f32 DPR:$Vm), imm:$lane)),
(VDUPLN32d DPR:$Vm, imm:$lane)>;
diff --git a/llvm/test/CodeGen/ARM/armv8.2a-fp16-vector-intrinsics.ll b/llvm/test/CodeGen/ARM/armv8.2a-fp16-vector-intrinsics.ll
index 37e34887eeb8..24d9c8870c30 100644
--- a/llvm/test/CodeGen/ARM/armv8.2a-fp16-vector-intrinsics.ll
+++ b/llvm/test/CodeGen/ARM/armv8.2a-fp16-vector-intrinsics.ll
@@ -1379,7 +1379,7 @@ entry:
define dso_local <4 x half> @test_vdup_lane_f16(<4 x half> %a) {
; CHECK-LABEL: test_vdup_lane_f16:
; CHECK: @ %bb.0: @ %entry
-; CHECK-NEXT: vdup.32 d0, d0[3]
+; CHECK-NEXT: vdup.16 d0, d0[3]
; CHECK-NEXT: bx lr
entry:
%shuffle = shufflevector <4 x half> %a, <4 x half> undef, <4 x i32> <i32 3, i32 3, i32 3, i32 3>
More information about the llvm-commits
mailing list