[ARM][MVE] Transform sext and zext of i1 buildvector (#192519)
This helps by avoiding the difficult predicate generation in scalar, using
natural extends to all-zero or all-ones in scalar as opposed to re-extending
them in vector registers.
[Clang][RISCV] Introduce OFP8(E4M3, E5M2) RISC-V vector types (#191349)
Currently there's no OFP8 scalar type supported in both clang and llvm
type system, the vector OFP8 RVV types are lowered to i8 llvm types for
now.
The reason to support only clang type is because of intrinsics
definition capability. If we make the clang type also using uint8 vector
types, it's not able to distinguish between E4M3 type and E5M2 type so
that we have to append additional type suffix to it.
intrinsic spec update pr:
https://github.com/riscv-non-isa/riscv-rvv-intrinsic-doc/pull/432
vreinterpret intrinsic PR:
https://github.com/llvm/llvm-project/pull/191626
DONT MERGE: We have to get the intrinsic spec merged first to be able to
make zvfofp8min change
mk: fix LIBKRB5PROFILE path typo in src.libnames.mk
LIBKRB5PROFILE referenced the undefined variable LIBPROFILEDIR instead
of LIBKRB5PROFILEDIR (defined on the preceding line), causing the linker
to fail to find libkrb5profile.a when building libkrb5.so. This left
all profile_* symbols missing from the version script, producing a cascade
of "version script assignment of 'krb5_3_MIT' to symbol ... failed: symbol
not defined" errors during buildworld
devel/libgusb: initial import of package
GUsb is a GObject wrapper for libusb1 that makes it easy to do
asynchronous control, bulk and interrupt transfers with proper
cancellation and integration into a mainloop.
This makes it easy to integrate low level USB transfers with your
high-level application or system daemon.
sh: Allow vfork on redirected simple commands
Things like `{ some_program; } >/dev/null` use vfork, so use vfork
similarly for things like `some_program >/dev/null`.
This cannot be done for command substitutions, because of two problems:
* Redirections might cause the error message for later redirections or
for an unknown command to be sent to the pipe (to be substituted), and
this might cause a deadlock if the message is too long.
* The assignment of the pipe needs to come before instead of after the
redirections.
Reviewed by: bdrewery
Differential Revision: https://reviews.freebsd.org/D55190
[X86] dag-topological-sort.ll - add additional test coverage (#194135)
The PR134602 test codegen will converge after #193987
Ensure we test with -combiner-topological-sorting=false as well
Do not clear the dirty upper and lower bits when enabling the FPU in fprs
When handling a FPU disabled trap and the FPU context is still pointing to
curproc then all that needs to be done is enable the FPU but on sparc64 this
needs to be done in two places. In pstate and %fprs.
Writing FPRS_FEF into %fprs clears the DU and DL bits which marks the FPU
state as clean (but it may not be). If the proc only reads the FPU state
and later a lazy FPU switch is forced the FPU context is not correctly saved.
Instead read %fprs and or FPRS_FEF into it, keeping the DU and DL bits intact.
See also rev 1.68 for why %fprs needs to be fumbled with.
This fixes various issues seen during ports bulk builds. Like perl tripping
over "use 5.12.0;" with a -NaN is not a version error, various awk issues
and even cmake failures via 'std::bad_array_new_length'.
OK kettenis@
[CIR] Upstream missing support for fixed point literal (#193445)
- Upstream CIR CodeGen for fixed point builtin types `_Fract`, `_Accum`
and `_Sat`.
- Upstream CIR CodeGen for fixed point literal
- Part of task https://github.com/llvm/llvm-project/issues/192316