* config/i386/constraints.md (B): New. (Ti): New. (Tb): New. * config/i386/i386-c.c (ix86_target_macros_internal): Add __MPX__. * config/i386/i386-modes.def (BND32): New. (BND64): New. * config/i386/i386-protos.h (ix86_bnd_prefixed_insn_p): New. * config/i386/i386.c (isa_opts): Add mmpx. (regclass_map): Add bound registers. (dbx_register_map): Likewise. (dbx64_register_map): Likewise. (svr4_dbx_register_map): Likewise. (PTA_MPX): New. (ix86_option_override_internal): Support MPX ISA. (ix86_conditional_register_usage): Support bound registers. (print_reg): Likewise. (ix86_code_end): Add MPX bnd prefix. (output_set_got): Likewise. (ix86_output_call_insn): Likewise. (ix86_print_operand): Add '!' (MPX bnd) print prefix support. (ix86_print_operand_punct_valid_p): Likewise. (ix86_print_operand_address): Support UNSPEC_BNDMK_ADDR and UNSPEC_BNDMK_ADDR. (ix86_class_likely_spilled_p): Add bound regs support. (ix86_hard_regno_mode_ok): Likewise. (x86_order_regs_for_local_alloc): Likewise. (ix86_bnd_prefixed_insn_p): New. * config/i386/i386.h (FIRST_PSEUDO_REGISTER): Fix to new value. (FIXED_REGISTERS): Add bound registers. (CALL_USED_REGISTERS): Likewise. (REG_ALLOC_ORDER): Likewise. (HARD_REGNO_NREGS): Likewise. (TARGET_MPX): New. (VALID_BND_REG_MODE): New. (FIRST_BND_REG): New. (LAST_BND_REG): New. (reg_class): Add BND_REGS. (REG_CLASS_NAMES): Likewise. (REG_CLASS_CONTENTS): Likewise. (BND_REGNO_P): New. (ANY_BND_REG_P): New. (BNDmode): New. (HI_REGISTER_NAMES): Add bound registers. * config/i386/i386.md (UNSPEC_BNDMK): New. (UNSPEC_BNDMK_ADDR): New. (UNSPEC_BNDSTX): New. (UNSPEC_BNDLDX): New. (UNSPEC_BNDLDX_ADDR): New. (UNSPEC_BNDCL): New. (UNSPEC_BNDCU): New. (UNSPEC_BNDCN): New. (UNSPEC_MPX_FENCE): New. (BND0_REG): New. (BND1_REG): New. (type): Add mpxmov, mpxmk, mpxchk, mpxld, mpxst. (length_immediate): Likewise. (prefix_0f): Likewise. (memory): Likewise. (prefix_rep): Check for bnd prefix. (length_nobnd): New. (length): Use length_nobnd if specified. (BND): New. (bnd_ptr): New. (BNDCHECK): New. (bndcheck): New. (*jcc_1): Add bnd prefix and rename length attr to length_nobnd. (*jcc_2): Likewise. (jump): Likewise. (simple_return_internal): Likewise. (simple_return_pop_internal): Likewise. (*indirect_jump): Add MPX bnd prefix. (*tablejump_1): Likewise. (simple_return_internal_long): Likewise. (simple_return_indirect_internal): Likewise. (<mode>_mk): New. (*<mode>_mk): New. (mov<mode>): New. (*mov<mode>_internal_mpx): New. (<mode>_<bndcheck>): New. (*<mode>_<bndcheck>): New. (<mode>_ldx): New. (*<mode>_ldx): New. (<mode>_stx): New. (*<mode>_stx): New. * config/i386/predicates.md (lea_address_operand): Rename to... (address_no_seg_operand): ... this. (address_mpx_no_base_operand): New. (address_mpx_no_index_operand): New. (bnd_mem_operator): New. * config/i386/i386.opt (mmpx): New. * doc/invoke.texi: Add documentation for the flags -mmpx, -mno-mpx. * doc/rtl.texi Add documentation for BND32mode and BND64mode. From-SVN: r204046
Name |
Last commit
|
Last update |
---|---|---|
.. | ||
include | Loading commit data... | |
arm-neon-intrinsics.texi | Loading commit data... | |
avr-mmcu.texi | Loading commit data... | |
bugreport.texi | Loading commit data... | |
cfg.texi | Loading commit data... | |
collect2.texi | Loading commit data... | |
compat.texi | Loading commit data... | |
configfiles.texi | Loading commit data... | |
configterms.texi | Loading commit data... | |
contrib.texi | Loading commit data... | |
contribute.texi | Loading commit data... | |
cpp.texi | Loading commit data... | |
cppenv.texi | Loading commit data... | |
cppinternals.texi | Loading commit data... | |
cppopts.texi | Loading commit data... | |
extend.texi | Loading commit data... | |
fragments.texi | Loading commit data... | |
frontends.texi | Loading commit data... | |
gcc.texi | Loading commit data... | |
gccint.texi | Loading commit data... | |
gcov.texi | Loading commit data... | |
generic.texi | Loading commit data... | |
gimple.texi | Loading commit data... | |
gnu.texi | Loading commit data... | |
gty.texi | Loading commit data... | |
headerdirs.texi | Loading commit data... | |
hostconfig.texi | Loading commit data... | |
implement-c.texi | Loading commit data... | |
implement-cxx.texi | Loading commit data... | |
install-old.texi | Loading commit data... | |
install.texi | Loading commit data... | |
install.texi2html | Loading commit data... | |
interface.texi | Loading commit data... | |
invoke.texi | Loading commit data... | |
languages.texi | Loading commit data... | |
libgcc.texi | Loading commit data... | |
loop.texi | Loading commit data... | |
lto.texi | Loading commit data... | |
makefile.texi | Loading commit data... | |
md.texi | Loading commit data... | |
objc.texi | Loading commit data... | |
options.texi | Loading commit data... | |
passes.texi | Loading commit data... | |
plugins.texi | Loading commit data... | |
portability.texi | Loading commit data... | |
rtl.texi | Loading commit data... | |
service.texi | Loading commit data... | |
sourcebuild.texi | Loading commit data... | |
standards.texi | Loading commit data... | |
tm.texi | Loading commit data... | |
tm.texi.in | Loading commit data... | |
tree-ssa.texi | Loading commit data... | |
trouble.texi | Loading commit data... |