about summary refs log tree commit diff
path: root/src/test/assembly/asm
AgeCommit message (Collapse)AuthorLines
2023-01-11Move /src/test to /testsAlbert Larsan-4642/+0
2022-11-29v8a as default aarch64 targetTommy Chiang (oToToT)-0/+37
After https://github.com/llvm/llvm-project/commit/8689f5e landed, LLVM takes the intersection of v8a and v8r as default. This commit brings back v8a support by explicitly specifying v8a in the feature list. This should solve #97724.
2022-10-17Stabilize asm_symAmanieu d'Antras-15/+17
2022-08-14Update the minimum external LLVM to 13Josh Stone-5/+0
2022-08-02RISC-V ASM test: relax label name constraint.Tim Neumann-1/+1
2022-06-07hexagon: adapt test for upstream output changesAugie Fackler-3/+3
The output of IR formatting changed slightly in upstream rev a0bc67e555f404d0e7ddb2e78cb891d96eaf913d (https://reviews.llvm.org/D123096). I'm not actually sure what any of that means, as I don't even know what hexagon is in this context, but this change allows the test to pass on both old and new LLVMs. r? @nikic
2022-05-03Collect function instance used in `global_asm!` sym operandTomasz Miąsko-0/+5
The constants used in SymFn operands have FnDef type, so the type of the constant identifies the function.
2022-04-16Update tests for sym support in global_asm!Amanieu d'Antras-1/+12
2022-01-22Add preliminary support for inline assembly for msp430.William D. Jones-0/+158
2021-12-12Stabilize asm! and global_asm!Amanieu d'Antras-1/+3
They are also removed from the prelude as per the decision in https://github.com/rust-lang/rust/issues/87228. stdarch and compiler-builtins are updated to work with the new, stable asm! and global_asm! macros.
2021-12-07Remove the reg_thumb register class for asm! on ARMAmanieu d'Antras-36/+0
Also restricts r8-r14 from being used on Thumb1 targets as per #90736.
2021-12-06Implement inline asm! for AVR platformAndrew Dona-Couch-0/+282
2021-11-07Add features gates for experimental asm featuresAmanieu d'Antras-12/+12
2021-10-22Update the minimum external LLVM to 12Josh Stone-4/+1
2021-10-22Update the minimum external LLVM to 11Josh Stone-14/+2
2021-10-15test fix: aarch64 atomics are only outlined on Linux.Hans Kratz-0/+1
2021-10-09Fix min LLVM version for bpf-types testAlessandro Decina-1/+1
Closes #89689
2021-09-30[aarch64] add target feature outline-atomicsSebastian Pop-0/+16
Enable outline-atomics by default as enabled in clang by the following commit https://reviews.llvm.org/rGc5e7e649d537067dec7111f3de1430d0fc8a4d11 Performance improves by several orders of magnitude when using the LSE instructions instead of the ARMv8.0 compatible load/store exclusive instructions. Tested on Graviton2 aarch64-linux with x.py build && x.py install && x.py test
2021-09-01Rollup merge of #88350 - programmerjake:add-ppc-cr-xer-clobbers, r=AmanieuMara Bos-0/+12
add support for clobbering xer, cr, and cr[0-7] for asm! on OpenPower/PowerPC Fixes #88315
2021-08-25add support for clobbering xer, cr, and cr[0-7] for asm! on OpenPower/PowerPCJacob Lifshay-0/+12
Fixes #88315
2021-08-24Feat: added explicit register tests; added prefix to check_reg asm stringlinux1-1/+37
2021-08-23Fix: added necessary prefixlinux1-2/+8
2021-08-22Fix: appeased x.py test tidy --blesslinux1-2/+2
2021-08-22Feat: further testing & support for i64 general register uselinux1-6/+46
2021-08-22Fix: moved #[no_mangle]linux1-3/+1
2021-08-22Refactor: added #[no_mangle]linux1-0/+2
2021-08-22Feat: added s390x reg-definitions, constraint codes, and testslinux1-0/+86
2021-06-24Re-Annotate the tests with needs-llvm-componentsSimonas Kazlauskas-3/+10
Doesn't work though, because compiletest doesn't process ignores on a per-revision manner.
2021-05-29BPF: add assembly testAlessandro Decina-0/+154
2021-05-13Add asm!() support for PowerPC64Dr. Chat-1/+31
2021-05-13Add tests for global_asm!Amanieu d'Antras-0/+14
2021-05-11Add initial asm!() support for PowerPCDr. Chat-0/+165
This includes GPRs and FPRs only
2021-04-05Disallow the use of high byte registes as operands on x86_64Amanieu d'Antras-4/+5
They are still allowed on x86 though. Fixes #83495
2021-03-25Mark inline asm tests as requiring LLVM 10.0.1Amanieu d'Antras-11/+11
2021-02-28Support LLVM 12 in rustcNikita Popov-14/+15
2021-02-1432-bit ARM: Emit `lr` instead of `r14` when specified as an `asm!` output ↵Johnathan Van Why-0/+9
register. On 32-bit ARM platforms, the register `r14` has the alias `lr`. When used as an output register in `asm!`, rustc canonicalizes the name to `r14`. LLVM only knows the register by the name `lr`, and rejects it. This changes rustc's LLVM code generation to output `lr` instead.
2020-12-01Add wasm32 support to inline asmGus Caplan-0/+150
2020-10-04Add asm! support for mips64Lzu Tao-64/+90
2020-10-04mips32: Add f64 hard-float supportLzu Tao-0/+24
co-authored-by: Amanieu <amanieu@gmail.com>
2020-09-30Remove useless stringifyLzu Tao-4/+0
2020-09-27Add MIPS asm! supportLzu Tao-0/+191
This patch also: * Add soft-float supports: only f32 * zero-extend i8/i16 to i32 because MIPS only supports register-length arithmetic. * Update table in asm! chapter in unstable book.
2020-08-28Fix testAmanieu d'Antras-10/+11
2020-08-26Fix a typo in #75781Amanieu d'Antras-0/+5
2020-08-22Expand RISCV pseudo-instructions to match LLVM 11Josh Stone-15/+16
2020-08-21Add regression testAmanieu d'Antras-0/+5
2020-08-03Work around LLVM issues with explicit register in inline asmAmanieu d'Antras-62/+833
Fixes #74658
2020-08-02compiletest: Support ignoring tests requiring missing LLVM componentsVadim Petrochenkov-0/+8
2020-06-16Add initial asm!() support for hexagonBrian Cain-0/+130
GPRs only
2020-05-24Added comment about static variablesMichal Sudwoj-0/+1
2020-05-24Fixed testsMichal Sudwoj-69/+61