kalsprite
9047c60ec1
arm32: default to arm1176jzf-s so the gnueabihf triple actually has an FPU,
...
arm32: implement AAPCS32 homogeneous float aggregates incl unions,
arm32: fix reversed arguments in the small-struct return coercion,abi test: __aeabi_uldivmod so the arm32 corpus links
2026-08-14 18:08:11 -07:00
kalsprite
1e2d91c38b
i386: pass and return bare vectors directly, coercing only 8-byte integer vectors,
...
i386: treat a bit_field as the aggregate it is in C, fixing a segfault on return,
abi test: document the i386 microarch baseline; do not read a signal exit as a type index
2026-08-14 17:38:21 -07:00
kalsprite
90d658f7d9
abi: sign/zero-extend sub-32-bit scalar arguments on every psABI that requires it
2026-08-13 23:31:51 -07:00
kalsprite
81a4bf16fe
riscv64: exclude aggregates containing a union from the FP calling convention
...
checker: keep #raw_union marked when it has a single field, #raw_union must mark on single field
2026-08-13 23:11:02 -07:00
kalsprite
a2f92401d3
sysv: fix a union passed as its last member when that member is narrower
2026-08-13 22:51:07 -07:00
kalsprite
98e580404a
pack structs whose member alignment LLVM would raise above the target cap
...
arm64: return a narrow bare vector as itself, not coerced to an integer
2026-08-13 21:52:34 -07:00
kalsprite
1cf1c4103e
fix SysV vector ABI: 64-bit slot width, wide-vector return, wrapped-vector return
2026-08-13 21:30:36 -07:00
kalsprite
88c194379c
fix SysV vector classification: SSEUp scan, wide-SSE args, short-vector lanes and sub-eightbyte class
2026-08-13 20:48:50 -07:00
kalsprite
f19e33fbdd
adjust sizes to match audit
2026-08-13 20:47:16 -07:00
kalsprite
b25497ecd5
matrix, vector align
2026-08-13 20:20:00 -07:00
kalsprite
e621a924f5
darwin align(16) max
2026-08-13 00:04:19 -07:00
kalsprite
f5ab81cfa1
simd fix; generator fix
2026-08-12 23:47:27 -07:00
kalsprite
b92e8af434
i128 unwrap aggregate single member structs
2026-08-12 23:29:48 -07:00
kalsprite
c2389067d2
arm64 HFA eligibility; byval stack slot align on i386, amd64 + callsite; sse eightbyte merge
2026-08-12 23:11:39 -07:00
kalsprite
8470c6eda2
i386 64-bit scalar alignment
2026-08-12 23:08:26 -07:00
gingerBill
fa342bb540
Merge pull request #7292 from kalsprite/sysv_source_type
...
amd64/arm64: classify aggregates from the source type
2026-08-12 19:43:29 +02:00
Mihail Moskov
6a81351de3
fixes float to 128-bit int/uint conversion
2026-08-12 19:25:46 +03:00
Mihail Moskov
6dda0198f0
fixes f32 to 64-bit int/uint conversion
2026-08-12 16:02:49 +03:00
gingerBill
8632a240fd
Merge pull request #7313 from kalsprite/matrix_type_hint
...
check_matrix_type_hint: require the element type and layout to match
2026-08-12 13:25:25 +02:00
gingerBill
6f5f02f63b
Merge pull request #7312 from kalsprite/enum_array_negative_count
...
check enumerated array length
2026-08-12 13:23:24 +02:00
gingerBill
76f3f4b2a3
Merge pull request #7311 from kalsprite/enum_array_blank_index
...
hoist if stmt in enumerated_array
2026-08-12 13:23:11 +02:00
gingerBill
9be450331a
Merge pull request #7310 from kalsprite/matrix_mul_limit
...
matrix: enforce the element limit on multiplication and on overflowing dimensions
2026-08-12 13:22:39 +02:00
gingerBill
ff30f74fcf
Merge pull request #7308 from kalsprite/extract_lsbs_limit
...
simd_extract_lsbs/_msbs: reject a lane count that exceeds the bit_set limit
2026-08-12 13:21:59 +02:00
gingerBill
c629f923b3
Merge pull request #7307 from kalsprite/endian_partition
...
types: make the three endianness predicates partition
2026-08-12 13:21:37 +02:00
gingerBill
abd6ce0519
Merge pull request #7301 from kalsprite/endian_wording
...
correct the endianness guard messages
2026-08-12 13:21:05 +02:00
gingerBill
dcbd6b6a3d
Merge pull request #7297 from kalsprite/constant_guards
...
intrinsics: fix guards combining two required conditions with &&
2026-08-12 13:20:51 +02:00
gingerBill
eb9c7d471a
Merge pull request #7296 from kalsprite/comparable_unspecialized
...
type_is_comparable: false for an unspecialized polymorphic record
2026-08-12 13:20:28 +02:00
gingerBill
9cd3e68afc
Merge pull request #7295 from kalsprite/const_truncation
...
bound constant arguments before range-checking them
2026-08-12 13:20:01 +02:00
gingerBill
98524caece
Merge pull request #7294 from kalsprite/byte_swap_untyped
...
fix byte swap on untyped int-like untyped types
2026-08-12 13:09:29 +02:00
gingerBill
01cd94cb6c
Merge pull request #7293 from kalsprite/bitfield_offset_not_found
...
bit_field: diagnose a missing field name in type_field_bit_offset / type_field_bit_size
2026-08-12 13:09:16 +02:00
gingerBill
d4d0436a09
Merge pull request #7314 from kalsprite/max_field_align
...
struct layout: apply #max_field_align
2026-08-12 11:30:35 +02:00
kalsprite
c61cf7d684
dont clear value on ok
2026-08-11 23:37:41 -07:00
kalsprite
586f87c0e1
apply max field align
2026-08-11 23:15:29 -07:00
kalsprite
f053a40359
check_matrix_type_hint: require the element type and layout to match
2026-08-11 23:07:07 -07:00
kalsprite
419050f82a
fix four more guards using && where they need ||
2026-08-11 22:52:33 -07:00
kalsprite
3f7d961bf6
check enumerated array length
2026-08-11 22:39:12 -07:00
kalsprite
0dbd55168f
hoist if stmt
2026-08-11 22:25:44 -07:00
kalsprite
973d90d7b1
enforce matrix size limits on mul; overflow dims
2026-08-11 21:31:36 -07:00
kalsprite
a594c9960c
reject a lane count that exceeds the bit_set limit
2026-08-11 20:55:12 -07:00
kalsprite
613067a677
make endiant types partition
2026-08-11 20:13:47 -07:00
kalsprite
2a50eaa84d
improve err msgs
2026-08-11 19:52:31 -07:00
kalsprite
e31bf47913
correct error guard
2026-08-11 19:44:08 -07:00
kalsprite
fef29f0f42
reject unspec poly
2026-08-11 18:59:37 -07:00
kalsprite
882be52d66
bound constant arguments before range-checking them
2026-08-11 18:08:32 -07:00
kalsprite
0ed628b22f
fix byte swap on untyped intlike types
2026-08-11 17:46:31 -07:00
kalsprite
d785843eed
bitfield missing field offsets
2026-08-11 17:34:36 -07:00
kalsprite
2285f4e061
sysv abi
2026-08-11 16:53:57 -07:00
Jeroen van Rijn
549bedcff9
Merge pull request #7291 from A1029384756/master
...
[llvm_backend] fix duplicated name for temporary `.ll` files
2026-08-12 01:08:48 +02:00
A1029384756
a08682bcd3
[llvm_backend] fix duplicated name for .ll files
2026-08-11 16:30:35 -04:00
gingerBill
94d188c75f
Merge pull request #7269 from kalsprite/simd_fixes
...
remove dead simd_rem
2026-08-11 21:44:53 +02:00