PR target/59316 * config/sparc/sparc.h (SPARC_LOW_FE_EXCEPT_VALUES): Define. * config/sparc/sol2.h (SPARC_LOW_FE_EXCEPT_VALUES): Redefine. * config/sparc/sparc.c (TARGET_INIT_BUILTINS): Move around. (TARGET_BUILTIN_DECL): Define. (TARGET_ATOMIC_ASSIGN_EXPAND_FENV): Likewise. (sparc32_initialize_trampoline): Adjust call to gen_flush. (enum sparc_builtins): New enumeral type. (sparc_builtins): New static array. (sparc_builtins_icode): Likewise. (def_builtin): Accept a separate icode and save the result. (def_builtin_const): Likewise. (sparc_fpu_init_builtins): New function. (sparc_vis_init_builtins): Pass the builtin code. (sparc_init_builtins): Call it if TARGET_FPU. (sparc_builtin_decl): New function. (sparc_expand_builtin): Deal with SPARC_BUILTIN_{LD,ST}FSR. (sparc_handle_vis_mul8x16): Use the builtin code. (sparc_fold_builtin): Likewise. Deal with SPARC_BUILTIN_{LD,ST}FSR and SPARC_BUILTIN_PDISTN. (compound_expr): New helper function. (sparc_atomic_assign_expand_fenv): New function. * config/sparc/sparc.md (unspecv): Reorder values, add UNSPECV_LDFSR and UNSPECV_STFSR. (flush, flushdi): Merge into single pattern. (ldfsr): New instruction. (stfsr): Likewise. From-SVN: r205735
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
biarch64.h | Loading commit data... | |
constraints.md | Loading commit data... | |
cypress.md | Loading commit data... | |
default-64.h | Loading commit data... | |
driver-sparc.c | Loading commit data... | |
freebsd.h | Loading commit data... | |
hypersparc.md | Loading commit data... | |
leon.md | Loading commit data... | |
linux.h | Loading commit data... | |
linux64.h | Loading commit data... | |
long-double-switch.opt | Loading commit data... | |
netbsd-elf.h | Loading commit data... | |
niagara.md | Loading commit data... | |
niagara2.md | Loading commit data... | |
niagara4.md | Loading commit data... | |
openbsd1-64.h | Loading commit data... | |
openbsd64.h | Loading commit data... | |
predicates.md | Loading commit data... | |
rtemself.h | Loading commit data... | |
sol2.h | Loading commit data... | |
sp-elf.h | Loading commit data... | |
sp64-elf.h | Loading commit data... | |
sparc-c.c | Loading commit data... | |
sparc-modes.def | Loading commit data... | |
sparc-opts.h | Loading commit data... | |
sparc-protos.h | Loading commit data... | |
sparc.c | Loading commit data... | |
sparc.h | Loading commit data... | |
sparc.md | Loading commit data... | |
sparc.opt | Loading commit data... | |
sparclet.md | Loading commit data... | |
supersparc.md | Loading commit data... | |
sync.md | Loading commit data... | |
sysv4.h | Loading commit data... | |
t-elf | Loading commit data... | |
t-leon | Loading commit data... | |
t-leon3 | Loading commit data... | |
t-linux | Loading commit data... | |
t-linux64 | Loading commit data... | |
t-netbsd64 | Loading commit data... | |
t-rtems | Loading commit data... | |
t-rtems-64 | Loading commit data... | |
t-sol2-64 | Loading commit data... | |
t-sparc | Loading commit data... | |
t-vxworks | Loading commit data... | |
tso.h | Loading commit data... | |
ultra1_2.md | Loading commit data... | |
ultra3.md | Loading commit data... | |
visintrin.h | Loading commit data... | |
vxworks.h | Loading commit data... | |
x-sparc | Loading commit data... |