diff options
author | liuhongt <hongtao.liu@intel.com> | 2021-01-27 13:22:36 +0800 |
---|---|---|
committer | liuhongt <hongtao.liu@intel.com> | 2021-01-27 18:49:25 +0800 |
commit | 530b1d688761db46b33d26864d3a0684cc82e0f9 (patch) | |
tree | d0d2e1e249b32794afc43a4a229e90d849f3e850 /libcpp/lex.c | |
parent | 6cf43433750bbd2837c526e03283f126a6d2c6e6 (diff) | |
download | gcc-530b1d688761db46b33d26864d3a0684cc82e0f9.zip gcc-530b1d688761db46b33d26864d3a0684cc82e0f9.tar.gz gcc-530b1d688761db46b33d26864d3a0684cc82e0f9.tar.bz2 |
Fix ICE for [PR target/98833].
And replace __builtin_ia32_pcmpeqb128 with operator == in libcpp.
gcc/ChangeLog:
PR target/98833
* config/i386/sse.md (sse2_gt<mode>3): Drop !TARGET_XOP in condition.
(*sse2_eq<mode>3): Ditto.
gcc/testsuite/ChangeLog:
PR target/98833
* gcc.target/i386/pr98833.c: New test.
libcpp/
PR target/98833
* lex.c (search_line_sse2): Replace builtins with == operator.
Diffstat (limited to 'libcpp/lex.c')
-rw-r--r-- | libcpp/lex.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/libcpp/lex.c b/libcpp/lex.c index cba0b6c..6af1404 100644 --- a/libcpp/lex.c +++ b/libcpp/lex.c @@ -391,10 +391,10 @@ search_line_sse2 (const uchar *s, const uchar *end ATTRIBUTE_UNUSED) mask = -1; start: - t = __builtin_ia32_pcmpeqb128(data, repl_nl); - t |= __builtin_ia32_pcmpeqb128(data, repl_cr); - t |= __builtin_ia32_pcmpeqb128(data, repl_bs); - t |= __builtin_ia32_pcmpeqb128(data, repl_qm); + t = data == repl_nl; + t |= data == repl_cr; + t |= data == repl_bs; + t |= data == repl_qm; found = __builtin_ia32_pmovmskb128 (t); found &= mask; } |