diff options
| author | Pirama Arumuga Nainar <pirama@google.com> | 2015-12-08 23:07:06 +0000 |
|---|---|---|
| committer | Pirama Arumuga Nainar <pirama@google.com> | 2015-12-08 23:07:06 +0000 |
| commit | e6ccd7b66a55363bbc57a7efcff1c514081a6269 (patch) | |
| tree | 9ee8b7e60ee10b6f6f70f030d323277ec085ab80 /llvm/lib/Target | |
| parent | 5411d0510cd8d97301adadca34b8831204ecc6c5 (diff) | |
| download | bcm5719-llvm-e6ccd7b66a55363bbc57a7efcff1c514081a6269.tar.gz bcm5719-llvm-e6ccd7b66a55363bbc57a7efcff1c514081a6269.zip | |
Define selection for v4f16, v8f16 scalar_to_vector
Summary:
This fixes failure when trying to select
insertelement <4 x half> undef, half %a, i64 0
which gets transformed to a scalar_to_vector node.
The accompanying v4 and v8 tests fail instruction selection without this
patch.
Reviewers: ab, jmolloy
Subscribers: srhines, llvm-commits
Differential Revision: http://reviews.llvm.org/D15322
llvm-svn: 255072
Diffstat (limited to 'llvm/lib/Target')
| -rw-r--r-- | llvm/lib/Target/AArch64/AArch64InstrInfo.td | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/llvm/lib/Target/AArch64/AArch64InstrInfo.td b/llvm/lib/Target/AArch64/AArch64InstrInfo.td index cfb0c1b578d..ed6e171caa9 100644 --- a/llvm/lib/Target/AArch64/AArch64InstrInfo.td +++ b/llvm/lib/Target/AArch64/AArch64InstrInfo.td @@ -3843,6 +3843,11 @@ def : Pat<(v2i64 (scalar_to_vector (i64 FPR64:$Rn))), (v2i64 (INSERT_SUBREG (v2i64 (IMPLICIT_DEF)), (i64 FPR64:$Rn), dsub))>; +def : Pat<(v4f16 (scalar_to_vector (f16 FPR16:$Rn))), + (INSERT_SUBREG (v4f16 (IMPLICIT_DEF)), FPR16:$Rn, hsub)>; +def : Pat<(v8f16 (scalar_to_vector (f16 FPR16:$Rn))), + (INSERT_SUBREG (v8f16 (IMPLICIT_DEF)), FPR16:$Rn, hsub)>; + def : Pat<(v4f32 (scalar_to_vector (f32 FPR32:$Rn))), (INSERT_SUBREG (v4f32 (IMPLICIT_DEF)), FPR32:$Rn, ssub)>; def : Pat<(v2f32 (scalar_to_vector (f32 FPR32:$Rn))), |

