[Bug rtl-optimization/44281] [4.3/4.4/4.5/4.6 Regression] Global Register variable pessimisation

2010-09-12 Thread adam at consulting dot net dot nz
--- Comment #5 from adam at consulting dot net dot nz 2010-09-13 00:24 --- Andrew Pinski wrote: This is caused by revision 160124: Not really, it is a noreturn function so the behavior is correct for our policy of allowing a more correct backtrace for noreturn functions

[Bug rtl-optimization/44281] [4.3/4.4/4.5/4.6 Regression] Global Register variable pessimisation

2010-09-11 Thread adam at consulting dot net dot nz
--- Comment #2 from adam at consulting dot net dot nz 2010-09-11 11:15 --- GCC snapshot has regressed compared to gcc-4.5: #include assert.h #include stdint.h #define LIKELY(x) __builtin_expect(!!(x), 1) #define UNLIKELY(x) __builtin_expect(!!(x), 0) register uint32_t *Iptr

[Bug rtl-optimization/45434] New: x86 missed optimization: use high register (ah, bh, ch, dh) when available to make comparisons

2010-08-27 Thread adam at consulting dot net dot nz
comparisons Product: gcc Version: unknown Status: UNCONFIRMED Severity: minor Priority: P3 Component: rtl-optimization AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: adam at consulting dot net dot nz http

[Bug c/38354] Spurious error: initializer element is not computable at load time

2010-08-17 Thread adam at consulting dot net dot nz
--- Comment #3 from adam at consulting dot net dot nz 2010-08-17 06:28 --- AMD64 non-large code model. Functions occupy lower 2GB of the address space. Cannot compile an array of 32-bit function addresses: #include stddef.h #include stdint.h #include stdio.h void fn() { printf

[Bug rtl-optimization/45296] New: register long double ICE at -O2, -Os, -O3

2010-08-16 Thread adam at consulting dot net dot nz
dot org ReportedBy: adam at consulting dot net dot nz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45296

[Bug target/45296] register long double ICE at -O2, -Os, -O3

2010-08-16 Thread adam at consulting dot net dot nz
--- Comment #3 from adam at consulting dot net dot nz 2010-08-16 23:41 --- Why is this invalid gnu99 code? How does one reserve x87 stack values as global register variables so that one may use gnu99 operators such as + upon those global register variables instead of having to resort

[Bug inline-asm/32811] Cannot flag inline assembler code noreturn

2010-07-13 Thread adam at consulting dot net dot nz
--- Comment #2 from adam at consulting dot net dot nz 2010-07-13 23:19 --- This issue needs to be revisited with the advent of asm goto: __attribute__ ((noreturn)) void noreturn_via_asm_goto() { loop: asm goto (jmp %l[loop]\n : : : : loop); } int main() {} $ gcc-4.5 -std=gnu99

[Bug regression/44281] Global Register variable pessimisation and regression

2010-06-06 Thread adam at consulting dot net dot nz
--- Comment #1 from adam at consulting dot net dot nz 2010-06-07 05:35 --- Example-specific workaround discovered for global register variable pessimisation with recent versions of GCC: void push_flag_into_global_reg_var(uint64_t a, uint64_t b) { uint64_t flag = (a==b

[Bug regression/44281] New: Global Register variable pessimisation and regression

2010-05-25 Thread adam at consulting dot net dot nz
: adam at consulting dot net dot nz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44281

[Bug c/42596] Integer/Floating point vector casts generate XMM register moves from and to the same register

2010-01-04 Thread adam at consulting dot net dot nz
--- Comment #4 from adam at consulting dot net dot nz 2010-01-05 04:17 --- /* Workaround discovered! */ void test_int_vectors_containing_fp_data_using_local_reg_var_overlay() { //create local register variables of the required floating point type //(for the same global register

[Bug c/42595] New: Integer/Floating point casts between vector types generate

2010-01-03 Thread adam at consulting dot net dot nz
dot gnu dot org ReportedBy: adam at consulting dot net dot nz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42595

[Bug c/42596] New: Integer/Floating point vector casts generate XMM register moves from and to the same register

2010-01-03 Thread adam at consulting dot net dot nz
AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: adam at consulting dot net dot nz http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42596

[Bug c/42596] Integer/Floating point vector casts generate XMM register moves from and to the same register

2010-01-03 Thread adam at consulting dot net dot nz
--- Comment #3 from adam at consulting dot net dot nz 2010-01-03 23:20 --- This is a demo of poor code generation with XMM global register variables (hardregs) and the vector extensions. Intrinsics are too low level. The vector extensions can continue to work on a platform without x86

[Bug c/40170] New: multiple movzx instructions generated when no partial register stall is evident

2009-05-16 Thread adam at consulting dot net dot nz
: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: adam at consulting dot net dot nz GCC build triplet: core2 GCC host triplet: linux GCC target triplet: x86_64 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40170

[Bug c/39102] New: gcc generating multiple stack stores in optimised code

2009-02-05 Thread adam at consulting dot net dot nz
Product: gcc Version: 4.3.3 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: adam at consulting dot net dot nz GCC host triplet: Debian Linux GCC target