LoginSignup
1
0

More than 5 years have passed since last update.

GCCの定義済みマクロの表示

Posted at

コンパイラオプションを変更した時に、プリプロセッサが見る定義済みマクロを表示する方法について簡単にまとめてみた。

例えば、下記は-mavx-mavx512fでの違い。

$ gcc -mavx -dM -E - </dev/null |sort > /tmp/1
$ gcc -mavx512f -dM -E - </dev/null |sort > /tmp/2
$ diff -u /tmp/1 /tmp/2
--- /tmp/1      2016-12-03 02:51:15.202904893 -0800
+++ /tmp/2      2016-12-03 02:51:21.768152014 -0800
@@ -9,7 +9,9 @@
 #define __ATOMIC_RELEASE 3
 #define __ATOMIC_SEQ_CST 5
 #define __AVX__ 1
-#define __BIGGEST_ALIGNMENT__ 32
+#define __AVX2__ 1
+#define __AVX512F__ 1
+#define __BIGGEST_ALIGNMENT__ 64
 #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
 #define __CHAR16_TYPE__ short unsigned int
 #define __CHAR32_TYPE__ unsigned int
@@ -72,6 +74,8 @@
 #define __FLT_MIN__ 1.17549435082228750797e-38F
 #define __FLT_MIN_EXP__ (-125)
 #define __FLT_RADIX__ 2
+#define __FP_FAST_FMA 1
+#define __FP_FAST_FMAF 1
 #define __FXSR__ 1
 #define __GCC_ATOMIC_BOOL_LOCK_FREE 2
 #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2

こんなのもあった。
- https://sourceforge.net/p/predef/wiki/Home/

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0