[CIR] Pass x87 long double vectors on x86_64 (#230302)
Vectors of x87 long double now go through x86_64 calling-convention
lowering instead of hitting NYI. The ABI library sizes their elements at
128 bits like clang does, so the signatures match classic codegen.
Unions are still moved as a value of their storage type, and a long
double stores only 10 of its 16 bytes. So a union holding an x87 value
next to another member stays NYI unless it's a plain long double and the
other members fit in those 10 bytes. That also stops a silent miscompile
of unions like `union { long double ld; char c[16]; }`.
Assisted-by: Cursor / Claude Opus 5.5
[RISCV] Reassociate add (add X, (ext Y)), (ext Z) -> add (add (ext Y), (ext Z)), X (#230657)
If Y and Z are extended from the same bitwidth, then we can reassociate
it so they are in the same inner add.
This then allows combineBinOpOfExt to kick in and narrow the inner add
to vwadd.vv. The motivating case is the sad_* kernels in x264.
Reassociating them allows more arithmetic to stay in a smaller LMUL and
takes up to 40% less cycles on sad_16x16 on the K3. This gives a ~3.1%
speedup on 525.x264_r overall.
graphics/pdfium: fix fetch
Fetch now auto-normalizes distfiles which eliminates their variability.
PR: 299197
Reported by: fallout
Approved by: portmgr@ (unbreak; blanket); this is also a new port
graphics/pdfium: fix fetch
Fetch now auto-normalizes distfiles which eliminates their variability.
PR: 299197
Reported by: fallout
Approved by: portmgr@ (unbreak; blanket); this is also a new port
AMDGPU: Index loads by workitem id in tests shared with r600
These tests relied on -amdgpu-scalarize-global-loads=false to select
vector loads from uniform pointer arguments. They also have r600 run
lines, so keep the kernels and index the input pointers by the workitem
id instead. Also fix shl_v2i16 not using its computed pointers, and
v_shl_32_i64 using the workgroup id. Also add some uniform variants
of some cases.
Co-authored-by: Claude Opus 5.5 <noreply at anthropic.com>
perf(AMDGPU): fold extended boolean OR to select
Require one-use extensions to avoid replacing an e32 OR with an e64
cndmask while the extended value is still needed elsewhere.
NAS-144380 / 28.0.0-BETA.1 / Fix mail exception in logs on fresh installs (#19978)
`[EINVAL] fromemail: This field is required` error appears in the logs
on fresh installs if an alert tries to send an email. This was
introduced by consolidating mail configuration validation in `send`.
Mail alert service should not try to send mail if `fromemail` is not
configured (similarly to how it doesn't try to send mail if destination
is not configured).
Additionally, remove dead code `NetworkActivityDisabled` handlers.
`mail.send` is a job, this exception will never be raised there.
[AMDGPU] Fix missed WMMA C-operand co-exec hazard (#226503)
The gfx1250 WMMA co-execution hazard check treats only A, B and the
SWMMAC index as registers the in-flight MMA still reads. C (src2 of a
non-SWMMAC WMMA) is missing, so a VALU scheduled into the MMA's shadow
can clobber C and the MMA consumes the new value.
This is latent while C is tied to vdst, since the existing D check then
covers it. It miscompiles where the tie does not hold: for
v_wmma_bf16f32_16x16x32_bf16, whose D is narrower than C, and for the
_threeaddr form of any WMMA.
Merge tag 'pci-v7.3-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci
Pull PCI fix from Bjorn Helgaas:
"This fixes some GPU initialization regressions caused by eddba19b8b5f
("PCI/AER: Support Advisory Non-Fatal Errors"), which appeared in
v7.3-rc1.
That commit also caused a MacBookPro16,1 spontaneous power-off
regression; I expect a fix for that next week"
* tag 'pci-v7.3-fixes-4' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci:
PCI/AER: Skip error recovery on false alarms
NAS-144399 / 28.0.0-BETA.1 / Reset rate limit before each new integration tests client connection (#19982)
Resetting rate limits explicitly in fixtures needs copy pasting them to
every test that creates new client connections. Let's just always reset
rate limits before creating a new connection to the master node (unless
explicitly disabled when i.e. we're testing rate limits service).
x11/ghostbsd-mocka: New port: GhostBSD Mocka desktop metaport
Add a metaport for the Mocka desktop, based on x11/ghostbsd-mate.
Mocka replaces MATE one component at a time, so the port pulls in the
MATE desktop together with the Mocka components and GhostBSD settings,
themes, fonts and wallpapers.
Merge tag 'mmc-v7.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc
Pull MMC/MEMSTICK fixes from Ulf Hansson:
"MMC host:
- cavium-octeon|thunderx: Destroy slot platform devices on remove
- mtk-sd: Cancel request timeout work on remove
- sdhci-sprd: Disable runtime PM on remove
MEMSTICK:
- Wait for request completion before freeing card
- rtsx_usb_ms: Complete requests after eject instead of dropping
them"
* tag 'mmc-v7.3-rc1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
memstick: rtsx_usb_ms: complete requests after eject instead of dropping them
memstick: core: wait for request completion before freeing card
mmc: cavium-thunderx: destroy slot platform devices on remove
mmc: cavium-octeon: destroy slot platform devices on remove
mmc: sdhci-sprd: disable runtime PM on remove
mmc: mtk-sd: Cancel request timeout work on remove
HipStdPar: Don't reprocess math library functions as intrinsics (#230603)
All uses were already replaced so this only inserted unused nonsense
declarations by replacing the first 4 characters of the function name
with "__hipstdpar". For example acosh would be replaced with
__hipstdparh.
Co-authored-by: Claude <noreply at anthropic.com>
Merge tag 'media/v7.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media fix from Mauro Carvalho Chehab:
"A fix for em28xx unregister code affecting devices with FM radio
support"
* tag 'media/v7.3-3' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media:
media: em28xx: use video_unregister_device for radio_dev
Merge tag 'sound-7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound
Pull sound fixes from Takashi Iwai:
"A dozen of small fixes. All device-specific quirks or fixes, and
nothing exciting is expected.
- USB-audio and HD-audio quirks
- HD-audio TAS2781 codec fix
- ctxfi driver memory leak fix
- ASoC AMD quirks
- ASoC cs35l56 and adau1372 codec fixes"
* tag 'sound-7.3-rc7' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
ASoC: amd: acp: Add more ACP7.0 match entries for Cirrus Logic parts
ASoC: amd: acp: Add DMI override for ASUS EXPERTBOOK AM7406CKA
[11 lines not shown]
zio: prevent DDT extension across RAIDZ expansion
A flat DDT entry can gain DVAs after its initial write, but stores one
physical birth. If a pre-expansion entry receives a post-expansion RAIDZ
DVA, the BP cannot represent both width epochs. RAIDZ then reads the new
copy at the old geometry; repair can map beyond its allocation.
Before extending a live phys, compare each newly allocated RAIDZ top's
logical width at the phys birth with its width at the allocation txg.
Refuse only a mismatched epoch and retry without dedup. This produces a
fresh BP whose DVAs share one birth. Same-epoch extensions, non-RAIDZ
tops, new entries, and traditional DDT tables keep their behavior.
Add raidz_expand_008_pos, which checks the block pointers written:
extension before expansion, refusal across a 3-to-4 disk expansion for
a 128K block and for a 16K block, whose allocation has the same size
at both widths, a clean scrub, and extension of a new entry after the
expansion. The last case distinguishes this exact check from a
permanent pool-wide gate.
[5 lines not shown]