GCC编译器标志在本机和haswell之间有所不同

bja*_*fly 5 c++ gcc gcc4.9 c++14

我在Linux haswell盒上,但是在执行此操作时

gcc -march=native -Q --help=target
Run Code Online (Sandbox Code Playgroud)

它具有与编译器不同的编译器开关

gcc -march=haswell -Q --help=target
Run Code Online (Sandbox Code Playgroud)

我输入了以下内容以查看差异

diff -u <(gcc -march=native -Q --help=target) <(gcc -march=haswell -Q --help=target) | grep "^[-|+] "
Run Code Online (Sandbox Code Playgroud)

在这种情况下,是否需要为编译器设置haswell架构类型配置错误的东西?

上面的diff命令显示了以下标志差异。

-  -mabm                                [enabled]
+  -mabm                                [disabled]
-  -maes                                [enabled]
+  -maes                                [disabled]
-  -mavx                                [enabled]
-  -mavx2                               [enabled]
+  -mavx                                [disabled]
+  -mavx2                               [disabled]
-  -mbmi                                [enabled]
-  -mbmi2                               [enabled]
+  -mbmi                                [disabled]
+  -mbmi2                               [disabled]
-  -mcx16                               [enabled]
+  -mcx16                               [disabled]
-  -mf16c                               [enabled]
+  -mf16c                               [disabled]
-  -mfma                                [enabled]
+  -mfma                                [disabled]
-  -mfsgsbase                           [enabled]
+  -mfsgsbase                           [disabled]
-  -mfxsr                               [enabled]
+  -mfxsr                               [disabled]
-  -mlzcnt                              [enabled]
+  -mlzcnt                              [disabled]
-  -mmmx                                [enabled]
-  -mmovbe                              [enabled]
+  -mmmx                                [disabled]
+  -mmovbe                              [disabled]
-  -mno-sse4                            [disabled]
+  -mno-sse4                            [enabled]
-  -mpclmul                             [enabled]
-  -mpopcnt                             [enabled]
+  -mpclmul                             [disabled]
+  -mpopcnt                             [disabled]
-  -mrdrnd                              [enabled]
+  -mrdrnd                              [disabled]
-  -msahf                               [enabled]
+  -msahf                               [disabled]
-  -msse                                [enabled]
-  -msse2                               [enabled]
+  -msse                                [disabled]
+  -msse2                               [disabled]
-  -msse3                               [enabled]
-  -msse4                               [enabled]
-  -msse4.1                             [enabled]
-  -msse4.2                             [enabled]
+  -msse3                               [disabled]
+  -msse4                               [disabled]
+  -msse4.1                             [disabled]
+  -msse4.2                             [disabled]
-  -mssse3                              [enabled]
+  -mssse3                              [disabled]
-  -mtune=                              haswell
+  -mtune=
-  -mxsave                              [enabled]
-  -mxsaveopt                           [enabled]
+  -mxsave                              [disabled]
+  -mxsaveopt                           [disabled]
Run Code Online (Sandbox Code Playgroud)