[all-commits] [llvm/llvm-project] d4342e: [AArch64] Add instruction selection for strict FP
john-brawn-arm via All-commits
all-commits at lists.llvm.org
Thu Feb 17 05:12:38 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d4342efb69598f7e789a47cffc8827c54c115f31
https://github.com/llvm/llvm-project/commit/d4342efb69598f7e789a47cffc8827c54c115f31
Author: John Brawn <john.brawn at arm.com>
Date: 2022-02-17 (Thu, 17 Feb 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-fmadd.ll
M llvm/test/CodeGen/AArch64/fp-intrinsics.ll
Log Message:
-----------
[AArch64] Add instruction selection for strict FP
This consists of marking the various strict opcodes as legal, and
adjusting instruction selection patterns so that 'op' is 'any_op'.
FP16 and vector instructions additionally require some extra work in
lowering and legalization, so we can't set IsStrictFPEnabled just yet.
Also more work needs to be done for full strict fp support (marking
instructions that can raise exceptions as such, and modelling FPCR use
for controlling rounding).
Differential Revision: https://reviews.llvm.org/D114946
Commit: 9d68ed08178d590e294761bde2ef471fbf3fe14d
https://github.com/llvm/llvm-project/commit/9d68ed08178d590e294761bde2ef471fbf3fe14d
Author: John Brawn <john.brawn at arm.com>
Date: 2022-02-17 (Thu, 17 Feb 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/cvt-fp-int-fp.ll
Log Message:
-----------
[AArch64] Allow strict opcodes in fp->int->fp patterns
These patterns don't change the fundamental instructions that are
used, just the variants that are used in order to remove some extra
MOVs.
Differential Revision: https://reviews.llvm.org/D118485
Commit: b670da798d352c2edcee1d5ad832905b3923c8f3
https://github.com/llvm/llvm-project/commit/b670da798d352c2edcee1d5ad832905b3923c8f3
Author: John Brawn <john.brawn at arm.com>
Date: 2022-02-17 (Thu, 17 Feb 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/arm64-vmul.ll
M llvm/test/CodeGen/AArch64/neon-scalar-by-elem-fma.ll
Log Message:
-----------
[AArch64] Allow strict opcodes in indexed fmul and fma patterns
Using an indexed version instead of a non-indexed version doesn't
change anything with regards to exceptions or rounding.
Differential Revision: https://reviews.llvm.org/D118487
Commit: d916856bee1165aa78ca342cdd43523c33333736
https://github.com/llvm/llvm-project/commit/d916856bee1165aa78ca342cdd43523c33333736
Author: John Brawn <john.brawn at arm.com>
Date: 2022-02-17 (Thu, 17 Feb 2022)
Changed paths:
M llvm/lib/Target/AArch64/AArch64ISelLowering.cpp
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/test/CodeGen/AArch64/faddp.ll
Log Message:
-----------
[AArch64] Allow strict opcodes in faddp patterns
This also requires adjustment to code in AArch64ISelLowering so that
vector_extract is distributed over strict_fadd.
Differential Revision: https://reviews.llvm.org/D118489
Compare: https://github.com/llvm/llvm-project/compare/48e0e6cedc56...d916856bee11
More information about the All-commits
mailing list