Sayantan Chakraborty
bee0bf631e
Merge pull request #2103 from heiher/vadda
...
loongarch: Use `intrinsics::simd` for vadda
2026-05-10 05:33:12 +00:00
Folkert de Vries
256c08376a
Merge pull request #2108 from sayantn/cleanup-gen-arm
...
A lot of cleanup in stdarch-gen-arm
2026-05-09 08:38:01 +00:00
WANG Rui
494200ba48
loongarch: Use intrinsics::simd for vadda
2026-05-09 15:45:57 +08:00
Sayantan Chakraborty
51877654ba
Merge pull request #2097 from heiher/vsadd-sub
...
loongarch: Use `intrinsics::simd` for vs{add,sub}
2026-05-09 06:23:59 +00:00
sayantn
63385588de
Split vcopyq_lane{q}_p64 due to vsetq_lane_p64 requiring aes
2026-05-09 10:01:01 +05:30
sayantn
95e2c0ff2c
Change implementation of v{us,su,}dot_lane
2026-05-09 09:41:26 +05:30
sayantn
0d1fd7fa47
Change implementation of vld1_dup
2026-05-09 09:41:25 +05:30
sayantn
cee8ece450
Change implementation of vmul_lane
2026-05-09 09:41:25 +05:30
sayantn
3dd1690288
Change implementation of vr{add,sub}hn_high
2026-05-09 09:41:25 +05:30
sayantn
d4bb7f4fdd
Change implementation of v{q}{r}shr{u}n_high_n
2026-05-09 09:41:25 +05:30
sayantn
933aa5c3b5
Change implementation of vqrdml{a,s}h_lane
2026-05-09 09:41:24 +05:30
sayantn
077f63f91e
Change implementation of vqmov{u}n_high
2026-05-09 09:41:24 +05:30
sayantn
1404a1e5b0
Change implementation of vqdmull{_high}{_lane} and vqrdmulh_lane
2026-05-09 09:41:24 +05:30
sayantn
63d8cef02f
Change implementation of v{add,sub}{l,w}_high
2026-05-09 09:41:24 +05:30
sayantn
401582dd27
Change implementation of vmulx_lane
2026-05-09 09:41:24 +05:30
sayantn
c02a41ccaa
Change implementation of vmull_{high,lane}
2026-05-09 09:41:24 +05:30
sayantn
ccb273a3c5
Change implementation of vmov{n,l}_high
2026-05-09 09:41:23 +05:30
sayantn
da1b2021f5
Change implementation of vml{a,s}{l}_lane
2026-05-09 09:41:23 +05:30
sayantn
4871c490cb
Change implementation of vcvt{x}_f32_f64
2026-05-09 09:41:23 +05:30
sayantn
8d56c77c04
Change implementation of vab{a,d}l_high
2026-05-09 09:41:23 +05:30
sayantn
f603c7fb4b
Change implementation of vcopy{q}_lane{q}
2026-05-09 09:41:22 +05:30
sayantn
229d480cdc
Change implementation of vext
2026-05-09 09:41:22 +05:30
sayantn
a2e77970c2
replace uses of simd_extract with vget_lane
2026-05-08 16:11:44 +05:30
Folkert de Vries
0d76cbef9b
Merge pull request #2107 from sayantn/gen-arm-improvements
...
gen-arm: Change definitions of some intrinsics
2026-05-08 10:25:19 +00:00
sayantn
aa37c1b535
gen-arm: fix vfmlal and vfmlsl
2026-05-08 12:47:02 +05:30
sayantn
a023ebf71f
gen-arm: fix vmlal, vmlsl and vmull
2026-05-08 12:46:59 +05:30
WANG Rui
c80d077ffc
loongarch: Use intrinsics::simd for vs{add,sub}
2026-05-08 10:52:55 +08:00
Amanieu d'Antras
1964b04a31
Merge pull request #2100 from sayantn/gen-arm-ports
...
Porting some intrinsics to stdarch-gen-arm
2026-05-08 00:40:07 +00:00
Folkert de Vries
37473be4d0
Merge pull request #2093 from heiher/vbit-clr-rev-set
...
loongarch: Use `intrinsics::simd` for vbit{clr,rev,set}
2026-05-07 20:14:46 +00:00
Folkert de Vries
55c9debc59
Merge pull request #2105 from sayantn/gen-arm-improvements
...
Some more changes in stdarch-gen-arm
2026-05-07 20:14:02 +00:00
David Wood
6218201806
gen-arm: write vtbx{1,2,3,4} in terms of vqtbx
...
Writing these intrinsics in terms of the `vqtbx_$ty` functions rather
than the `vqtbx` helper function preserves the behaviour while making
them work in big endian.
2026-05-08 01:16:19 +05:30
David Wood
a5073bcca9
gen-arm: write vtbl{1,2,3,4} in terms of vqtbl
...
Writing these intrinsics in terms of the `vqtbl_$ty` functions rather
than the `vqtbl` helper function preserves the behaviour while making
them work in big endian.
2026-05-08 01:16:18 +05:30
David Wood
1e13d52faf
gen-arm: change defn of vabdl_high_u{8,16,32}
...
Changes the definition of `vabdl_high_u{8,16,32}` to match that of
`vabdl_high_s{8,16,32}` so that the `big_endian_inverse` transformation
can apply.
2026-05-08 01:16:18 +05:30
WANG Rui
11fd314918
loongarch: Use intrinsics::simd for vbit{clr,rev,set}
2026-05-07 22:34:29 +08:00
David Wood
1c2d423713
core_arch: remove redundant tests
...
Manually written tests for `vcopy_laneq`, `vget{,q}_{high,low,lane}`,
`vcombine` and `vaddw_high` don't account for the expected differences
in output for big endian intrinsics and given that they duplicate the
testing of `intrinsic-test`, can be removed.
2026-05-07 11:15:14 +01:00
David Wood
4661e734dc
gen-arm: port vcombine_f64 to generator
...
This enables the `big_endian_inverse` transform to apply to this
intrinsic.
2026-05-07 11:15:13 +01:00
David Wood
fe3e89d2d5
gen-arm: port vgetq_lane_f64 to generator
...
This enables the `big_endian_inverse` transform to apply to this
intrinsic.
2026-05-07 11:15:06 +01:00
David Wood
54b56a3d95
gen-arm: port vget_{high,low}_{p,f}64 to generator
...
This enables the `big_endian_inverse` transform to apply to these
intrinsics.
2026-05-07 11:14:54 +01:00
David Wood
cf3ac4997a
gen-arm: port vcopy_laneq_{f,u,s,p}64 to generator
...
This enables the `big_endian_inverse` transformation to apply to these
intrinsics.
2026-05-07 11:14:46 +01:00
David Wood
1d556c4405
gen-arm: port vcopy_lane_{s,u,p,f}64 to generator
...
This enables the `big_endian_inverse` transformation to apply to this
intrinsic.
2026-05-07 11:14:38 +01:00
Folkert de Vries
75fb1cb872
Merge pull request #2099 from sayantn/gen-arm-improvements
...
Some small overall improvements to stdarch-gen-arm
2026-05-06 20:03:36 +00:00
Folkert de Vries
ea71582ec0
Merge pull request #2101 from sayantn/revert-passes
...
Revert changing number of passes depending on number of parameters
2026-05-06 20:01:48 +00:00
David Wood
3d5f588f83
gen-arm: skip assert_instr on big-endian
...
Some intrinsics optimise to different instructions on big endian which
leads to `assert_instr` failing
2026-05-07 00:38:15 +05:30
David Wood
51f8123fa7
gen-arm: use neon-stable anchor throughout
...
Instead of duplicating the stability attribute, re-use the `neon-stable`
anchor through
2026-05-07 00:37:41 +05:30
David Wood
af754dcaf3
gen-arm: resolve outdated big_endian_inverse todo
...
Earlier patches added `big_endian_inverse` and used `transmute` instead
of using `vreinterpret` due to an LLVM bug that has since been resolved
2026-05-07 00:37:38 +05:30
Folkert de Vries
f3773626f0
Merge pull request #2104 from Jamesbarford/remove-inline-always-target-feature
...
Remove inline always
2026-05-06 18:48:18 +00:00
James Barford-Evans
4c3bde6036
replace more instances of #[inline(always)]
2026-05-06 16:53:04 +01:00
James Barford-Evans
a854325c91
remove target_feature_inline_always from lib.rs
2026-05-06 16:39:21 +01:00
James Barford-Evans
13979fcd88
Remove #[inline(always)] from loongarch intrinsic generator & re-generate intrinsics
2026-05-06 16:28:46 +01:00
James Barford-Evans
6169e94e9b
Remove #[inline(always)] from hexagon intrinsic generator & re-generate intrinsics
2026-05-06 16:28:26 +01:00