Alex Rønne Petersen
f90548e740
test: skip alternative constraints behavior test on LoongArch
...
https://github.com/llvm/llvm-project/issues/159200
2025-09-18 12:42:14 +02:00
Jacob Young
5060ab99c9
aarch64: add new from scratch self-hosted backend
2025-07-22 19:43:47 -07:00
Andrew Kelley
76d04c1662
zig fmt
2025-07-16 10:27:39 -07:00
Ali Cheraghi
872f68c9cb
rename spirv backend name
...
`stage2_spirv64` -> `stage2_spirv`
2025-06-16 13:22:19 +03:30
Jacob Young
e5d5a8bc4e
x86_64: implement switch jump tables
2025-01-16 20:42:08 -05:00
David Rubin
d9e0cafe64
riscv: add stage2_riscv to test matrix and bypass failing tests
2024-05-11 02:17:24 -07:00
mlugg
9c16b2370d
test: update behavior to silence 'var is never mutated' errors
2023-11-19 09:57:03 +00:00
Jacob Young
b19fd485b1
x86_64: improve inline assembly support
...
* instruction prefixes
* mnemonic fixes
* labels
* memory operands
* read-write constraint modifier
* register and memory alternative constraint
2023-10-07 16:02:01 -04:00
Jacob Young
8470652f10
x86_64: implement float compare and cast builtins
2023-10-01 15:09:52 -04:00
Jacob Young
dc8a80a191
llvm: support read-write output constraints in assembly
...
Closes #15227
2023-07-29 09:49:04 -07:00
Jacob Young
8fcc28d302
Module: add support for multiple global asm blocks per decl
...
Closes #16076
2023-06-19 13:12:04 -07:00
Robin Voetter
091595ac37
spirv: customize module-scope asm test
...
This test passes just fine, but the provided assembly is not valid
for spir-v. This adds a custom assembly test and enables the test
for spir-v
2023-05-20 17:30:22 +02:00
Ali Chraghi
ccc490ef68
setup spirv backend in behavior tests
2023-05-11 20:31:52 +02:00
Jacob Young
248fb40dcc
CBE: fix windows test failures
2023-02-21 15:46:34 -05:00
Jacob Young
434c6f42ca
behavior: enable passing CBE tests
2023-02-21 09:43:23 -05:00
Andrew Kelley
995c36dcb1
avoid testing inline for in unrelated behavior tests
2023-01-02 14:09:01 -07:00
kcbanner
4fe71977e0
temporarily disable asm tests
2023-01-01 16:44:28 -05:00
Koakuma
f9e9ba784f
stage2: sparc64: Skip unimplemented tests
2022-12-10 21:51:46 +07:00
Jacob Young
e1216077f0
cbe: add support for constraint modifiers specified after a colon
...
This translates `%[name:mod]` to `%mod[name]` for C.
2022-12-02 22:21:24 -05:00
Cody Tapscott
2897641fb9
stage2: Support modifiers in inline asm
...
These are supported using %[ident:mod] syntax. This allows requesting,
e.g., the "w" (32-bit) vs. "x" (64-bit) views of AArch64 registers.
See https://llvm.org/docs/LangRef.html#asm-template-argument-modifiers
2022-11-11 16:01:31 +02:00
Jacob Young
b48417aed2
cbe: misc fixes
2022-10-25 05:11:29 -04:00
Jacob Young
1dd4a6102f
cbe: implement global assembly
2022-10-25 05:11:29 -04:00
Jacob Young
c126a1018e
cbe: implement more asm features
2022-10-25 05:11:28 -04:00
Andrew Kelley
13f02c30e6
stage2: fix some inline asm incompatibilities with stage1
2022-06-12 14:46:05 -07:00
Andrew Kelley
1b432b5576
stage2: implement global assembly
...
So far it's supported by the LLVM backend only. I recommend for the
other backends to wait for the resolution of #10761 before adding
support for this feature.
2022-05-04 20:38:53 -07:00
Daniele Cocca
907dc1e13f
CBE: improve support for asm inputs
...
This is not complete support for asm expressions, but allows a few more
test cases from test/behavior/asm.zig to pass. Since the non-register
inputs are named `input_${n}` they can cause name collisions: I'm
wrapping the asm expressions in their own block to prevent that.
Contextually, this change also makes test/behavior/asm.zig run for
stage2, but skips individual tests for most backends (I only verified
the C and LLVM backends successfully run one new test case) and the
entire test file for aarch64, where it's running into preexisting
shortcomings.
2022-03-30 12:10:02 +03:00
Andrew Kelley
6115cf2240
migrate from std.Target.current to @import("builtin").target
...
closes #9388
closes #9321
2021-10-04 23:48:55 -07:00
jdmichaud
49c9975484
zig fmt: respect trailing commas in inline assembly
2021-08-29 11:57:32 +02:00
Andrew Kelley
5619ce2406
Merge remote-tracking branch 'origin/master' into stage2-whole-file-astgen
...
Conflicts:
* doc/langref.html.in
* lib/std/enums.zig
* lib/std/fmt.zig
* lib/std/hash/auto_hash.zig
* lib/std/math.zig
* lib/std/mem.zig
* lib/std/meta.zig
* test/behavior/alignof.zig
* test/behavior/bitcast.zig
* test/behavior/bugs/1421.zig
* test/behavior/cast.zig
* test/behavior/ptrcast.zig
* test/behavior/type_info.zig
* test/behavior/vector.zig
Master branch added `try` to a bunch of testing function calls, and some
lines also had changed how to refer to the native architecture and other
`@import("builtin")` stuff.
2021-05-08 14:45:21 -07:00
Andrew Kelley
b6bb0ee1ac
Merge remote-tracking branch 'origin/master' into stage2-whole-file-astgen
...
Conflicts:
* lib/std/os/linux/tls.zig
* test/behavior/align.zig
* test/behavior/atomics.zig
* test/behavior/vector.zig
2021-05-08 10:53:22 -07:00
Andrew Kelley
4307436b99
move behavior tests from test/stage1/ to test/
...
And fix test cases to make them pass. This is in preparation for
starting to pass behavior tests with self-hosted.
2021-04-29 15:54:04 -07:00