gcc/ * common/config/i386/i386-common.c (OPTION_MASK_ISA_PKU_SET): New. (OPTION_MASK_ISA_PKU_UNSET): Ditto. (ix86_handle_option): Handle OPT_mpku. * config.gcc: Add pkuintrin.h to i[34567]86-*-* and x86_64-*-* targets. * config/i386/cpuid.h (host_detect_local_cpu): Detect PKU feature. * config/i386/i386-c.c (ix86_target_macros_internal): Handle PKU ISA flag. * config/i386/i386.c (ix86_target_string): Add "-mpku" to ix86_target_opts. (ix86_option_override_internal): Define PTA_PKU, mention new key in skylake-avx512. Handle new ISA bits. (ix86_valid_target_attribute_inner_p): Add "pku". (enum ix86_builtins): Add IX86_BUILTIN_RDPKRU and IX86_BUILTIN_WRPKRU. (builtin_description bdesc_special_args[]): Add new built-ins. * config/i386/i386.h (define TARGET_PKU): New. (define TARGET_PKU_P): Ditto. * config/i386/i386.md (define_c_enum "unspecv"): Add UNSPEC_PKU. (define_expand "rdpkru"): New. (define_insn "*rdpkru"): Ditto. (define_expand "wrpkru"): Ditto. (define_insn "*wrpkru"): Ditto. * config/i386/i386.opt (mpku): Ditto. * config/i386/pkuintrin.h: New file. * config/i386/x86intrin.h: Include pkuintrin.h * doc/extend.texi: Describe new built-ins. * doc/invoke.texi: Describe new switches. gcc/testsuite/ * g++.dg/other/i386-2.C: Add -mpku. * g++.dg/other/i386-3.C: Ditto. * gcc.target/i386/rdpku-1.c: New test. * gcc.target/i386/sse-12.c: Add -mpku. * gcc.target/i386/sse-13.c: Ditto. * gcc.target/i386/sse-22.c: Ditto. * gcc.target/i386/sse-33.c: Ditto. * gcc.target/i386/wrpku-1.c: New test. From-SVN: r231944
| Name |
Last commit
|
Last update |
|---|---|---|
| .. | ||
| PR23205.C | Loading commit data... | |
| abstract1.C | Loading commit data... | |
| abstract2.C | Loading commit data... | |
| abstract3.C | Loading commit data... | |
| abstract4.C | Loading commit data... | |
| abstract5.C | Loading commit data... | |
| abstract6.C | Loading commit data... | |
| access1.C | Loading commit data... | |
| access2.C | Loading commit data... | |
| access3.C | Loading commit data... | |
| anon-struct.C | Loading commit data... | |
| anon-union.C | Loading commit data... | |
| anon-union2.C | Loading commit data... | |
| anon-union3.C | Loading commit data... | |
| anon2.C | Loading commit data... | |
| anon3.C | Loading commit data... | |
| anon4.C | Loading commit data... | |
| anon5.C | Loading commit data... | |
| anon6.C | Loading commit data... | |
| anon7.C | Loading commit data... | |
| arm-neon-1.C | Loading commit data... | |
| armv7m-1.C | Loading commit data... | |
| array1.C | Loading commit data... | |
| array2.C | Loading commit data... | |
| array3.C | Loading commit data... | |
| array4.C | Loading commit data... | |
| array5.C | Loading commit data... | |
| array6.C | Loading commit data... | |
| array7.C | Loading commit data... | |
| assign1.C | Loading commit data... | |
| big-struct.C | Loading commit data... | |
| bitfield1.C | Loading commit data... | |
| bitfield2.C | Loading commit data... | |
| bitfield3.C | Loading commit data... | |
| bitfield4.C | Loading commit data... | |
| builtin-unreachable-1.C | Loading commit data... | |
| builtin1.C | Loading commit data... | |
| canon-31724.C | Loading commit data... | |
| canon-33194.C | Loading commit data... | |
| canon-37342.C | Loading commit data... | |
| classkey1.C | Loading commit data... | |
| complex1.C | Loading commit data... | |
| component1.C | Loading commit data... | |
| const1.C | Loading commit data... | |
| const2.C | Loading commit data... | |
| const3.C | Loading commit data... | |
| const4.C | Loading commit data... | |
| constref1.C | Loading commit data... | |
| constref2.C | Loading commit data... | |
| conversion1.C | Loading commit data... | |
| copy1.C | Loading commit data... | |
| copy2.C | Loading commit data... | |
| crash-1.C | Loading commit data... | |
| crash-10.C | Loading commit data... | |
| crash-11.C | Loading commit data... | |
| crash-12.C | Loading commit data... | |
| crash-2.C | Loading commit data... | |
| crash-3.C | Loading commit data... | |
| crash-4.C | Loading commit data... | |
| crash-5.C | Loading commit data... | |
| crash-6.C | Loading commit data... | |
| crash-7.C | Loading commit data... | |
| crash-8.C | Loading commit data... | |
| crash-9.C | Loading commit data... | |
| ctor1.C | Loading commit data... | |
| ctor2.C | Loading commit data... | |
| cv_func.C | Loading commit data... | |
| cv_func2.C | Loading commit data... | |
| cv_func3.C | Loading commit data... | |
| cv_func4.C | Loading commit data... | |
| cxa-atexit1.C | Loading commit data... | |
| darwin-cfstring1.C | Loading commit data... | |
| darwin-minversion-1.C | Loading commit data... | |
| datasec1.C | Loading commit data... | |
| default1.C | Loading commit data... | |
| default10.C | Loading commit data... | |
| default11.C | Loading commit data... | |
| default12.C | Loading commit data... | |
| default2.C | Loading commit data... | |
| default3.C | Loading commit data... | |
| default4.C | Loading commit data... | |
| default5.C | Loading commit data... | |
| default6.C | Loading commit data... | |
| default7.C | Loading commit data... | |
| default8.C | Loading commit data... | |
| default9.C | Loading commit data... | |
| do1.C | Loading commit data... | |
| dtor1.C | Loading commit data... | |
| dtor2.C | Loading commit data... | |
| dump-ada-spec-1.C | Loading commit data... | |
| dump-ada-spec-2.C | Loading commit data... | |
| dump-ada-spec-3.C | Loading commit data... | |
| dump-ada-spec-4.C | Loading commit data... | |
| dump-ada-spec-5.C | Loading commit data... | |
| dump-ada-spec-6.C | Loading commit data... | |
| dump-ada-spec-7.C | Loading commit data... | |
| dump-ada-spec-8.C | Loading commit data... | |
| dump-ada-spec-9.C | Loading commit data... | |
| ellipsis1.C | Loading commit data... | |
| empty-class.C | Loading commit data... | |
| enum1.C | Loading commit data... | |
| enum2.C | Loading commit data... | |
| enum3.C | Loading commit data... | |
| error1.C | Loading commit data... | |
| error10.C | Loading commit data... | |
| error11.C | Loading commit data... | |
| error12.C | Loading commit data... | |
| error13.C | Loading commit data... | |
| error14.C | Loading commit data... | |
| error15.C | Loading commit data... | |
| error16.C | Loading commit data... | |
| error17.C | Loading commit data... | |
| error18.C | Loading commit data... | |
| error19.C | Loading commit data... | |
| error2.C | Loading commit data... | |
| error20.C | Loading commit data... | |
| error21.C | Loading commit data... | |
| error22.C | Loading commit data... | |
| error23.C | Loading commit data... | |
| error24.C | Loading commit data... | |
| error25.C | Loading commit data... | |
| error26.C | Loading commit data... | |
| error27.C | Loading commit data... | |
| error28.C | Loading commit data... | |
| error29.C | Loading commit data... | |
| error3.C | Loading commit data... | |
| error30.C | Loading commit data... | |
| error31.C | Loading commit data... | |
| error32.C | Loading commit data... | |
| error33.C | Loading commit data... | |
| error34.C | Loading commit data... | |
| error4.C | Loading commit data... | |
| error5.C | Loading commit data... | |
| error6.C | Loading commit data... | |
| error7.C | Loading commit data... | |
| error8.C | Loading commit data... | |
| error9.C | Loading commit data... | |
| field1.C | Loading commit data... | |
| final1.C | Loading commit data... | |
| final2.C | Loading commit data... | |
| first-global.C | Loading commit data... | |
| fold1.C | Loading commit data... | |
| friend1.C | Loading commit data... | |
| friend2.C | Loading commit data... | |
| friend3.C | Loading commit data... | |
| friend4.C | Loading commit data... | |
| friend5.C | Loading commit data... | |
| gc1.C | Loading commit data... | |
| gc2.C | Loading commit data... | |
| gc3.C | Loading commit data... | |
| gc4.C | Loading commit data... | |
| gc5.C | Loading commit data... | |
| i386-1.C | Loading commit data... | |
| i386-2.C | Loading commit data... | |
| i386-3.C | Loading commit data... | |
| i386-4.C | Loading commit data... | |
| i386-7.C | Loading commit data... | |
| i386-8.C | Loading commit data... | |
| i386-9.C | Loading commit data... | |
| incomplete1.C | Loading commit data... | |
| incomplete2.C | Loading commit data... | |
| incomplete3.C | Loading commit data... | |
| increment1.C | Loading commit data... | |
| infloop-1.C | Loading commit data... | |
| init1.C | Loading commit data... | |
| init2.C | Loading commit data... | |
| isnan.C | Loading commit data... | |
| java1.C | Loading commit data... | |
| java2.C | Loading commit data... | |
| java3.C | Loading commit data... | |
| label1.C | Loading commit data... | |
| large-size-array.C | Loading commit data... | |
| linkage1.C | Loading commit data... | |
| linkage2.C | Loading commit data... | |
| macro-1.C | Loading commit data... | |
| main1.C | Loading commit data... | |
| mmintrin.C | Loading commit data... | |
| mult-stor1.C | Loading commit data... | |
| nested-extern-1.C | Loading commit data... | |
| nested-extern-2.C | Loading commit data... | |
| nested-extern.cc | Loading commit data... | |
| new-size-type.C | Loading commit data... | |
| new1.C | Loading commit data... | |
| nontype-1.C | Loading commit data... | |
| ns1.C | Loading commit data... | |
| offsetof1.C | Loading commit data... | |
| offsetof2.C | Loading commit data... | |
| offsetof3.C | Loading commit data... | |
| offsetof4.C | Loading commit data... | |
| offsetof5.C | Loading commit data... | |
| offsetof6.C | Loading commit data... | |
| offsetof7.C | Loading commit data... | |
| offsetof8.C | Loading commit data... | |
| opaque-1.C | Loading commit data... | |
| opaque-2.C | Loading commit data... | |
| opaque-3.C | Loading commit data... | |
| operator1.C | Loading commit data... | |
| operator2.C | Loading commit data... | |
| operator3.C | Loading commit data... | |
| packed1.C | Loading commit data... | |
| pr20366.C | Loading commit data... | |
| pr22003.C | Loading commit data... | |
| pr22358.C | Loading commit data... | |
| pr23205-2.C | Loading commit data... | |
| pr24623.C | Loading commit data... | |
| pr25632.C | Loading commit data... | |
| pr27495.C | Loading commit data... | |
| pr28114.C | Loading commit data... | |
| pr28304.C | Loading commit data... | |
| pr28432.C | Loading commit data... | |
| pr29610.C | Loading commit data... | |
| pr31078.C | Loading commit data... | |
| pr33558-2.C | Loading commit data... | |
| pr33558.C | Loading commit data... | |
| pr33601.C | Loading commit data... | |
| pr34435.C | Loading commit data... | |
| pr35504.C | Loading commit data... | |
| pr36944.C | Loading commit data... | |
| pr37394.C | Loading commit data... | |
| pr37789.C | Loading commit data... | |
| pr38706.C | Loading commit data... | |
| pr39060.C | Loading commit data... | |
| pr39496.C | Loading commit data... | |
| pr40446.C | Loading commit data... | |
| pr40561.C | Loading commit data... | |
| pr42645-1.C | Loading commit data... | |
| pr42645-2.C | Loading commit data... | |
| pr42685.C | Loading commit data... | |
| pr42806.C | Loading commit data... | |
| pr43116.C | Loading commit data... | |
| pr43631.C | Loading commit data... | |
| pr47218-1.C | Loading commit data... | |
| pr47218.C | Loading commit data... | |
| pr47218.h | Loading commit data... | |
| pr49133.C | Loading commit data... | |
| pr49912.C | Loading commit data... | |
| pr50212.C | Loading commit data... | |
| pr50464.C | Loading commit data... | |
| pr52048.C | Loading commit data... | |
| pr53811.C | Loading commit data... | |
| pr55650.C | Loading commit data... | |
| pr55650.cc | Loading commit data... | |
| pr59492.C | Loading commit data... | |
| pr61753.C | Loading commit data... | |
| pr63815.C | Loading commit data... | |
| pr66130.C | Loading commit data... | |
| pr67065.C | Loading commit data... | |
| pragma-re-1.C | Loading commit data... | |
| pragma-re-2.C | Loading commit data... | |
| profile1.C | Loading commit data... | |
| ptrmem1.C | Loading commit data... | |
| ptrmem10.C | Loading commit data... | |
| ptrmem11.C | Loading commit data... | |
| ptrmem2.C | Loading commit data... | |
| ptrmem3.C | Loading commit data... | |
| ptrmem4.C | Loading commit data... | |
| ptrmem5.C | Loading commit data... | |
| ptrmem6.C | Loading commit data... | |
| ptrmem7.C | Loading commit data... | |
| ptrmem8.C | Loading commit data... | |
| ptrmem9.C | Loading commit data... | |
| qual1.C | Loading commit data... | |
| redecl1.C | Loading commit data... | |
| redecl2.C | Loading commit data... | |
| redecl3.C | Loading commit data... | |
| return1.C | Loading commit data... | |
| s390-1.C | Loading commit data... | |
| scope1.C | Loading commit data... | |
| semicolon.C | Loading commit data... | |
| spu2vmx-1.C | Loading commit data... | |
| static1.C | Loading commit data... | |
| static11.C | Loading commit data... | |
| static2.C | Loading commit data... | |
| stdarg1.C | Loading commit data... | |
| stdarg2.C | Loading commit data... | |
| stdarg3.C | Loading commit data... | |
| struct-va_list.C | Loading commit data... | |
| switch1.C | Loading commit data... | |
| switch2.C | Loading commit data... | |
| switch3.C | Loading commit data... | |
| synth1.C | Loading commit data... | |
| typedef1.C | Loading commit data... | |
| typedef2.C | Loading commit data... | |
| typedef3.C | Loading commit data... | |
| typedef4.C | Loading commit data... | |
| ucnid-1.C | Loading commit data... | |
| unreachable1.C | Loading commit data... | |
| unused1.C | Loading commit data... | |
| var_copy-1.C | Loading commit data... | |
| vararg-1.C | Loading commit data... | |
| vararg-2.C | Loading commit data... | |
| vararg-3.C | Loading commit data... | |
| vararg-4.C | Loading commit data... | |
| vector-compare.C | Loading commit data... | |
| virtual1.C | Loading commit data... | |
| virtual2.C | Loading commit data... | |
| virtual3.C | Loading commit data... | |
| void1.C | Loading commit data... | |
| void2.C | Loading commit data... | |
| void3.C | Loading commit data... | |
| vrp1.C | Loading commit data... | |
| vthunk1.C | Loading commit data... | |
| warning1.C | Loading commit data... |