Index: clang/include/clang/Driver/Options.td =================================================================== --- clang/include/clang/Driver/Options.td +++ clang/include/clang/Driver/Options.td @@ -2651,6 +2651,10 @@ def mno_dsp : Flag<["-"], "mno-dsp">, Group; def mdspr2 : Flag<["-"], "mdspr2">, Group; def mno_dspr2 : Flag<["-"], "mno-dspr2">, Group; +def mmips3d : Flag<["-"], "mmips3d">, Group, + HelpText<"Enable MIPS3D ASE (MIPS only)">; +def mno_mips3d : Flag<["-"], "mno-mips3d">, Group, + HelpText<"Disable MIPS3D ASE (MIPS only)">; def msingle_float : Flag<["-"], "msingle-float">, Group; def mdouble_float : Flag<["-"], "mdouble-float">, Group; def mmadd4 : Flag<["-"], "mmadd4">, Group, Index: clang/lib/Driver/ToolChains/Arch/Mips.cpp =================================================================== --- clang/lib/Driver/ToolChains/Arch/Mips.cpp +++ clang/lib/Driver/ToolChains/Arch/Mips.cpp @@ -343,6 +343,8 @@ "dspr2"); AddTargetFeature(Args, Features, options::OPT_mmsa, options::OPT_mno_msa, "msa"); + AddTargetFeature(Args, Features, options::OPT_mmips3d, + options::OPT_mno_mips3d, "mips3d"); // Add the last -mfp32/-mfpxx/-mfp64, if none are given and the ABI is O32 // pass -mfpxx, or if none are given and fp64a is default, pass fp64 and