[Bug target/87674] AVX512: incorrect intrinsic signature

2018-10-22 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=87674 --- Comment #3 from Wenzel Jakob --- Thanks -- this patch works for me. With regards to the signature difference: I had already stumbled about the (float *) vs (some value *) difference in some intrinsics. In the best case differences cause

[Bug target/87674] New: AVX512: incorrect intrinsic signature

2018-10-21 Thread wen...@mitsuba-renderer.org
Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- Hi, I'm seeing a number of warnings related to the following three intrinsics, which appaer to have an incorrect signature. The fix is easy: simply change __mmask16 to __mmask8

[Bug target/72784] AVX512: Assembler failure when compiling on OSX

2018-10-21 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72784 Wenzel Jakob changed: What|Removed |Added Status|UNCONFIRMED |RESOLVED Resolution|---

[Bug target/79481] AVX512PF: unmasked gather prefetch intrinsics missing

2017-02-13 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79481 --- Comment #4 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- I think that's right. Clang e.g. also does this: #define _mm512_prefetch_i32gather_ps(index, addr, scale, hint) ({\ __builtin_ia32_gatherpfdps((__mmask

[Bug target/79481] AVX512PF: unmasked gather prefetch intrinsics missing

2017-02-13 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79481 --- Comment #2 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- I agree that the docs from Intel are not particularly consistent. In this case, the hardware has dedicated instructions for these type of gathers, so it would make

[Bug target/79481] New: AVX512PF: unmasked gather prefetch intrinsics missing

2017-02-12 Thread wen...@mitsuba-renderer.org
Component: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- The latest trunk version (and all versions before as far as I can tell) are missing the following (unmasked) intrinsics for gather prefetches

[Bug target/76731] [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature

2017-01-13 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76731 --- Comment #11 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Searching through the intrinsics guide (e.g. https://software.intel.com/sites/landingpage/IntrinsicsGuide/#text=gather_ps), I see "void *" for all gather sc

[Bug target/73350] AVX512: GCC optimizes away rounding flags

2017-01-10 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=73350 --- Comment #4 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- This bug is still present in the latest GCC -- are there any plans to fix it?

[Bug target/76731] [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature

2017-01-10 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76731 --- Comment #9 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Hi -- just a ping regarding this issue. Thanks, Wenzel

[Bug target/76731] [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature

2016-12-13 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76731 --- Comment #6 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Are there any news here? This is clearly an issue, and it would be nice to fix it. I currently can't compile my AVX512 project on GCC due to this bug.

[Bug target/77633] AVX512: shuffle intrinsic has incorrect signature when optimizations are enabled

2016-09-19 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77633 --- Comment #4 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Aha, interesting -- that breaks it: test.cpp(9): error: argument of type "int" is incompatible with parameter of type "_MM_PERM_ENUM={_MM_PERM_ENUM}"

[Bug target/77633] AVX512: shuffle intrinsic has incorrect signature when optimizations are enabled

2016-09-19 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=77633 --- Comment #2 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- I just tried compiling this snippet with ICC 17.0.0. It accepts it without warnings (-Wall -Wconversion -Wextra). So even if the signature is different, ICC seems to b

[Bug target/77633] New: AVX512: shuffle intrinsic has incorrect signature when optimizations are enabled

2016-09-18 Thread wen...@mitsuba-renderer.org
: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- The AVX512 shuffle intrinsic switches to a different implementation (& different signature) when optimizat

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481 --- Comment #7 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Correction: this ICE indeed goes away when building with --enable-checking=release (though that doesn't seem like a nice solution). I assume I used this check level in my

[Bug tree-optimization/72824] [5/6 Regression] Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns)

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72824 --- Comment #13 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- The fix was merged, so I assume this bug should be closed as RESOLVED?

[Bug target/76731] [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76731 --- Comment #4 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Hmm, it looks like this is still an issue. Recompiling my codebase with the latest trunk version of gcc still produces many errors caused by this, e.g. include/sim

[Bug target/76731] [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76731 --- Comment #3 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Any updates here? Should this be closed?

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481 --- Comment #6 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- No -- I am experimenting with the AVX512F backend and thus need to use the development branch.

[Bug c++/69481] ICE with C++11 alias using with templates

2016-09-18 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69481 --- Comment #4 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- I'm pretty sure this is a recent regression -- GCC was able to compile the code on Bug 77629 a month ago.

[Bug c++/77629] New: internal compiler error: same canonical type node for different types

2016-09-17 Thread wen...@mitsuba-renderer.org
Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- Created attachment 39640 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39640=edit Preprocessed source code I am runn

[Bug target/76731] [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature

2016-08-22 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76731 --- Comment #2 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- +1 this looks great!

[Bug target/76731] New: [AVX512] _mm512_i32gather_epi32 and other scatter/gather routines have incorrect signature

2016-08-14 Thread wen...@mitsuba-renderer.org
Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- All of the scatter/gather intrinsics in avx512intrin.h use int/float/double pointers, which is incorrect

[Bug target/76342] AVX512: _mm512_undefined_epi32() intrinsic missing (incorrectly named _mm512_undefined_si512)

2016-08-14 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=76342 Wenzel Jakob <wen...@mitsuba-renderer.org> changed: What|Removed |Added Status|UNCONFIRMED |RE

[Bug target/76342] New: AVX512: _mm512_undefined_epi32() intrinsic missing (incorrectly named _mm512_undefined_si512)

2016-08-13 Thread wen...@mitsuba-renderer.org
Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- Consider the following snippet: // -- #include __m512 test() { return

[Bug target/73350] AVX512: GCC optimizes away rounding flags

2016-08-11 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=73350 --- Comment #1 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Sorry, there was a stupid typo in my message below. The middle part should have read At optimization level, -O1, this currently stops working (tested with GCC trunk)

[Bug target/73350] New: AVX512: GCC optimizes away rounding flags

2016-08-10 Thread wen...@mitsuba-renderer.org
Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- The AVX512 instruction set introduced the ability to specify a rounding flag for almost every arithmetic operation that is subject to rounding. This is extremely useful because

[Bug tree-optimization/72824] [5/6 Regression] Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns)

2016-08-10 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72824 --- Comment #8 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Thank you, I can confirm that the issue is fixed on my end.

[Bug target/63351] Optimization: contract broadcast intrinsics when AVX512 is enabled

2016-08-10 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=63351 Wenzel Jakob <wen...@mitsuba-renderer.org> changed: What|Removed |Added CC|

[Bug target/72782] AVX512: No support for scalar broadcasts

2016-08-10 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72782 --- Comment #1 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- Looks like this issue was first reported in 2014 but got stuck -- see Bug 63351.

[Bug target/72867] New: SSE/AVX/AVX512: incorrect optimization of VMINPS/VMAXPS at compile time

2016-08-10 Thread wen...@mitsuba-renderer.org
Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- The Intel intrinsics provide a family functions for computing the minimum and maximum of two floating point vectors of different

[Bug tree-optimization/72824] New: [7 Regression] Signed floating point zero semantics broken at optimization level -O3 (tree-loop-distribute-patterns)

2016-08-06 Thread wen...@mitsuba-renderer.org
: 7.0 Status: UNCONFIRMED Severity: major Priority: P3 Component: tree-optimization Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- The trunk version of GCC has a regression which

[Bug target/72805] AVX512: invalid code generation involving masks

2016-08-04 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72805 --- Comment #6 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- awesome, thanks!

[Bug target/72805] New: AVX512: invalid code generation involving masks

2016-08-04 Thread wen...@mitsuba-renderer.org
: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- Consider the following minimal program, which initializes an 16 int AVX512 vector with -1 entries, does a componen-twise "< 0" comparison, and prints the r

[Bug target/72784] New: AVX512: Assembler failure when compiling on OSX

2016-08-03 Thread wen...@mitsuba-renderer.org
: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- GCC (HEAD) fails to compile basic AVX512 code on my machine (OSX 10.11.6) which I'm using to develop for (and emulate) this architecture. Consider the following small

[Bug target/72782] New: AVX512: No support for scalar broadcasts

2016-08-03 Thread wen...@mitsuba-renderer.org
Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- AVX512 introduces the ability to do scalar broadcasts, which significantly cuts down on the number of explicit broadcast instructions in vectorized code. It looks like the AVX512

[Bug target/72773] AVX512: Invalid operand for vcvttss2siq instruction

2016-08-02 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72773 --- Comment #3 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- It looks like it is an LLVM issue (see https://llvm.org/bugs/show_bug.cgi?id=28810)

[Bug target/72773] AVX512: Invalid operand for vcvttss2siq instruction

2016-08-02 Thread wen...@mitsuba-renderer.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=72773 --- Comment #1 from Wenzel Jakob <wen...@mitsuba-renderer.org> --- The LLVM ticket is here: https://llvm.org/bugs/show_bug.cgi?id=28810

[Bug target/72773] New: AVX512: Invalid operand for vcvttss2siq instruction

2016-08-02 Thread wen...@mitsuba-renderer.org
: target Assignee: unassigned at gcc dot gnu.org Reporter: wen...@mitsuba-renderer.org Target Milestone: --- Created attachment 39047 --> https://gcc.gnu.org/bugzilla/attachment.cgi?id=39047=edit Preprocessed file causing the issue Hi, I'm running into a pesky AVX512F c