aboutsummaryrefslogtreecommitdiff
path: root/libcpp/include/cpplib.h
diff options
context:
space:
mode:
authorHaochen Jiang <haochen.jiang@intel.com>2024-11-01 15:59:47 +0800
committerHaochen Jiang <haochen.jiang@intel.com>2024-11-02 02:15:46 +0800
commitc5a36c4e591e41efe3e4d892ff62831d801752d3 (patch)
treeecfaebba8a502053ada24f07d5bd3537e7050596 /libcpp/include/cpplib.h
parente8689ac75faca61a0251d1098dbafa8c637ec489 (diff)
downloadgcc-c5a36c4e591e41efe3e4d892ff62831d801752d3.zip
gcc-c5a36c4e591e41efe3e4d892ff62831d801752d3.tar.gz
gcc-c5a36c4e591e41efe3e4d892ff62831d801752d3.tar.bz2
i386: Do not allow pointer conversion for CMPccXADD intrin under -O0
The pointer conversion to wider type under macro would not consider whether the higher bit is cleaned or not. It will lead to unexpected cmp result. After this change, it will throw an incompatible pointer type error just like -O2 does currently. gcc/ChangeLog: * config/i386/cmpccxaddintrin.h (_cmpccxadd_epi32): Do not do type conversion for pointer. (_cmpccxadd_epi64): Ditto. gcc/testsuite/ChangeLog: * gcc.target/i386/cmpccxadd-1b.c: New test.
Diffstat (limited to 'libcpp/include/cpplib.h')
0 files changed, 0 insertions, 0 deletions