On Wed, May 6, 2020 at 4:48 AM Hongtao Liu <crazy...@gmail.com> wrote: > > On Mon, May 4, 2020 at 12:58 AM Uros Bizjak <ubiz...@gmail.com> wrote: > > > > The part above is OK, but you are missing support for > > __attribute__((__target__("..."))). Please see how for example -msgx > > is handled in isa2_opts in i386-options.c and in > > gcc.target/i386/funcspec-56.h test source. > > > > Please repost the patch with added missing part. > > > > Uros. > > Updated: > > gcc/Changelog > * common/config/i386/i386-common.c (OPTION_MASK_ISA2_TSXLDTRK_SET, > OPTION_MASK_ISA2_TSXLDTRK_UNSET): New macros. > * config.gcc: Add tsxldtrkintrin.h to extra_headers. > * config/i386/driver-i386.c (host_detect_local_cpu): Detect > TSXLDTRK. > * config/i386/i386-builtin.def: Add new builtins. > * config/i386/i386-c.c (ix86_target_macros_internal): Define > __TSXLDTRK__. > * config/i386/i386-options.c (ix86_target_string): Add > -mtsxldtrk. > (ix86_valid_target_attribute_inner_p): Add attribute tsxldtrk. > * config/i386/i386.h (TARGET_TSXLDTRK, TARGET_TSXLDTRK_P): > New. > * config/i386/i386.md (define_c_enum "unspec"): Add > UNSPECV_SUSLDTRK, UNSPECV_RESLDTRK. > (TSXLDTRK): New define_int_iterator. > ("<tsxldtrk>"): New define_insn. > * config/i386/i386.opt: Add -mtsxldtrk. > * config/i386/immintrin.h: Include tsxldtrkintrin.h. > * config/i386/tsxldtrkintrin.h: New. > * doc/invoke.texi: Document -mtsxldtrk. > > gcc/testsuite/Changelog > * g++.dg/other/i386-2.c: Add -mtsxldtrk. > * g++.dg/other/i386-3.c: Likewise. > * gcc.target/i386/sse-12.c: Likewise. > * gcc.target/i386/sse-13.c: Likewise. > * gcc.target/i386/sse-14.c: Likewise. > * gcc.target/i386/sse-22.c: Likewsie. > * gcc.target/i386/sse-23.c: Likewise. > * gcc.target/i386/tsxldtrk-1.c: New test. > * gcc.target/i386/funcspec-56.inc: Add target attribute tests > for tsxldtrk.
OK. Thanks, Uros.