[RISCV] Allocate feature bits for Zifencei and Zmmul (#143306)
As proposed in
https://github.com/riscv-non-isa/riscv-c-api-doc/pull/110.
No real compiler-rt implementation as Linux does not list these
extensions in hwprobe.
Signed-off-by: Luke Wren <wren6991 at gmail.com>
[libc][docs] Parse inline macro_value from YAML in docgen (#189118)
The docgen script was previously hardcoded to assume all implemented
macros must be placed in a *-macros.h header. This updates docgen to
read inline macro_value properties directly from the source YAML files,
correctly recognizing them as implemented.
[AArch64][llvm] Separate TLBI-only feature gating from TLBIP aliases
Refactor the TLBI system operand definitions so that TLBI and TLBIP
records are emitted through separate helper multiclasses, whilst keeping
the table layout readable.
The feature-scoped wrappers now apply FeatureTLB_RMI, FeatureRME, and
FeatureTLBIW only to TLBI records (it was previously incorrectly also
applied to TLBIP instructions), while TLBIP aliases remain gated only
by FeatureD128, including their nXS forms.
Update testcases accordingly.
[AArch64][llvm] Rewrite the TLBI multiclass to be much clearer (NFC)
The `tlbi` multiclass is really doing four jobs at once: base TLBI,
synthesized nXS, optional TLBIP, and synthesized TLBIP nXS. Also,
`needsreg` and `optreg` are really just a 3-state operand policy in
disguise. Likewise, the PLBI multiclass has this same issue.
Change `needsreg` and `optreg` into a combined fake enum, so it's
clearer whether the instruction takes no register operand, a required
register operand or an optional register operand.
This improves on my original change 66e8270e8.
[libc] Add missing POSIX macros to cpio.h (#188840)
Define the POSIX cpio.h header and its standard macros in the libc build
system. Configure the macros directly in the YAML specification to allow
automated header generation without a custom definition template.
17977 convert cp/mv/ln manuals to mdoc
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Peter Tribble <peter.tribble at gmail.com>
Approved by: Dan McDonald <danmcd at edgecast.io>
17975 clean up cp/mv/ln warnings
17976 cp/mv/ln should have ctf
Reviewed by: Andy Fiddaman <illumos at fiddaman.net>
Reviewed by: Jason King <jason.brian.king+illumos at gmail.com>
Reviewed by: Hans Rosenfeld <rosenfeld at grumpf.hope-2000.org>
Approved by: Dan McDonald <danmcd at edgecast.io>
lint: in case of lossy floating point conversions, print exact value
When running lint on sparc64 with target sparc64, some tests print
warnings in cases where they shouldn't. To track down their cause,
print the exact floating point value in the message, in hexadecimal.
As the snprintf(3) manual page says, there are multiple equivalent
representations, so just match them using the placeholder "....." in the
"expect" comments. In this particular case, the message is missing
completely, so the output of the failed test will reveal the actual
value.
The affected test cases are:
* msg_380.c:38, converting -9223372036854775809.0 to 'long long'
* msg_380.c:39, converting -9223372036854775808.0 to 'long long'
* msg_381.c:38, converting -9223372036854775809.0 to 'long long'
* msg_381.c:39, converting -9223372036854775808.0 to 'long long'
17989 libsa: fix sbrk() signature
Reviewed by: Bill Sommerfeld <sommerfeld at hamachi.org>
Reviewed by: Jason King <jason.brian.king+illumos at gmail.com>
Approved by: Dan McDonald <danmcd at edgecast.io>