[all-commits] [llvm/llvm-project] cb261e: [AArch64][clang] implement 2022 General Data-Proce...
Ties Stuij via All-commits
all-commits at lists.llvm.org
Tue Nov 22 06:24:09 PST 2022
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: cb261e30fbb174085d2eea4f4afc3cef2838b7f7
https://github.com/llvm/llvm-project/commit/cb261e30fbb174085d2eea4f4afc3cef2838b7f7
Author: Ties Stuij <ties.stuij at arm.com>
Date: 2022-11-22 (Tue, 22 Nov 2022)
Changed paths:
A clang/test/Driver/aarch64-cssc.c
M llvm/include/llvm/Support/AArch64TargetParser.def
M llvm/include/llvm/Support/AArch64TargetParser.h
M llvm/lib/Target/AArch64/AArch64.td
M llvm/lib/Target/AArch64/AArch64InstrFormats.td
M llvm/lib/Target/AArch64/AArch64InstrInfo.td
M llvm/lib/Target/AArch64/AArch64SystemOperands.td
M llvm/lib/Target/AArch64/AsmParser/AArch64AsmParser.cpp
M llvm/lib/Target/AArch64/Disassembler/AArch64Disassembler.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.cpp
M llvm/lib/Target/AArch64/MCTargetDesc/AArch64InstPrinter.h
M llvm/lib/Target/AArch64/SVEInstrFormats.td
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.cpp
M llvm/lib/Target/AArch64/Utils/AArch64BaseInfo.h
A llvm/test/MC/AArch64/CSSC/abs_32.s
A llvm/test/MC/AArch64/CSSC/abs_64.s
A llvm/test/MC/AArch64/CSSC/cnt_32.s
A llvm/test/MC/AArch64/CSSC/cnt_64.s
A llvm/test/MC/AArch64/CSSC/ctz_32.s
A llvm/test/MC/AArch64/CSSC/ctz_64.s
A llvm/test/MC/AArch64/CSSC/smax_32_imm.s
A llvm/test/MC/AArch64/CSSC/smax_32_reg.s
A llvm/test/MC/AArch64/CSSC/smax_64_imm.s
A llvm/test/MC/AArch64/CSSC/smax_64_reg.s
A llvm/test/MC/AArch64/CSSC/smin_32_imm.s
A llvm/test/MC/AArch64/CSSC/smin_32_reg.s
A llvm/test/MC/AArch64/CSSC/smin_64_imm.s
A llvm/test/MC/AArch64/CSSC/smin_64_reg.s
A llvm/test/MC/AArch64/CSSC/umax_32_imm.s
A llvm/test/MC/AArch64/CSSC/umax_32_reg.s
A llvm/test/MC/AArch64/CSSC/umax_64_imm.s
A llvm/test/MC/AArch64/CSSC/umax_64_reg.s
A llvm/test/MC/AArch64/CSSC/umin_32_imm.s
A llvm/test/MC/AArch64/CSSC/umin_32_reg.s
A llvm/test/MC/AArch64/CSSC/umin_64_imm.s
A llvm/test/MC/AArch64/CSSC/umin_64_reg.s
A llvm/test/MC/AArch64/armv8.9a-cssc.s
A llvm/test/MC/AArch64/rprfm.s
A llvm/test/MC/Disassembler/AArch64/armv8.9a-cssc.txt
M llvm/unittests/Support/TargetParserTest.cpp
Log Message:
-----------
[AArch64][clang] implement 2022 General Data-Processing instructions
This patch implements the 2022 Architecture General Data-Processing Instructions
They include:
Common Short Sequence Compression (CSSC) instructions
- scalar comparison instructions
SMAX, SMIN, UMAX, UMIN (32/64 bits) with or without immediate
- ABS (absolute), CNT (count non-zero bits), CTZ (count trailing zeroes)
- command-line options for CSSC
Associated with these instructions in the documentation is the Range Prefetch
Memory (RPRFM) instruction, which signals to the memory system that data memory
accesses from a specified range of addresses are likely to occur in the near
future. The instruction lies in hint space, and is made unconditional.
Specs for the individual instructions can be found here:
https://developer.arm.com/documentation/ddi0602/2022-09/Base-Instructions/
contributors to this patch:
- Cullen Rhodes
- Son Tuan Vu
- Mark Murray
- Tomas Matheson
- Sam Elliott
- Ties Stuij
Reviewed By: lenary
Differential Revision: https://reviews.llvm.org/D138488
More information about the All-commits
mailing list