https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59778
--- Comment #4 from GCC Commits <cvs-commit at gcc dot gnu.org> --- The master branch has been updated by John David Anglin <dang...@gcc.gnu.org>: https://gcc.gnu.org/g:1c3cfb5a95dcc7f797ec2815690a6291878580c4 commit r14-8758-g1c3cfb5a95dcc7f797ec2815690a6291878580c4 Author: John David Anglin <dang...@gcc.gnu.org> Date: Fri Feb 2 18:05:06 2024 +0000 hppa: Implement TARGET_ATOMIC_ASSIGN_EXPAND_FENV This change implements __builtin_get_fpsr() and __builtin_set_fpsr(x) to get and set the floating-point status register. They are used to implement pa_atomic_assign_expand_fenv(). 2024-02-02 John David Anglin <dang...@gcc.gnu.org> gcc/ChangeLog: PR target/59778 * config/pa/pa.cc (enum pa_builtins): Add PA_BUILTIN_GET_FPSR and PA_BUILTIN_SET_FPSR builtins. * (pa_builtins_icode): Declare. * (def_builtin, pa_fpu_init_builtins): New. * (pa_init_builtins): Initialize FPU builtins. * (pa_builtin_decl, pa_expand_builtin_1): New. * (pa_expand_builtin): Handle PA_BUILTIN_GET_FPSR and PA_BUILTIN_SET_FPSR builtins. * (pa_atomic_assign_expand_fenv): New. * config/pa/pa.md (UNSPECV_GET_FPSR, UNSPECV_SET_FPSR): New UNSPECV constants. (get_fpsr, put_fpsr): New expanders. (get_fpsr_32, get_fpsr_64, set_fpsr_32, set_fpsr_64): New insn patterns.