Krister Walfridsson’s old blog

Random thoughts on programming languages, compilers, operating systems, etc.

Tuesday, August 29, 2017

GCC target description macros and functions

›
This is part four of a series “ Writing a GCC back end ”. The functionality that cannot be handled by the machine description in  machin...
Tuesday, August 22, 2017

GCC low-level IR and basic code generation

›
This is part three of a series “ Writing a GCC back end ”. Compilers are usually described as having three parts – a front end that hand...
Sunday, August 13, 2017

Getting started with a GCC back end

›
This is part two of a series “ Writing a GCC back end ”. Most CPU architectures have a common subset – they have instructions doing arit...
Sunday, August 6, 2017

The structure of a GCC back end

›
This is part one of a series “ Writing a GCC back end ”. The GCC back end is configured in gcc/config.host and the implementation is p...
Friday, August 4, 2017

Writing a GCC back end

›
It is surprisingly easy to design a CPU (see for example Colin Riley’s blog series ) and I was recently asked how hard it is to write a GCC...
10 comments:
Monday, July 24, 2017

Phoronix SciMark benchmarking results

›
Phoronix recently published an article “ Ryzen Compiler Performance: Clang 4/5 vs. GCC 6/7/8 Benchmarks ”, and there are many results in th...
Thursday, July 20, 2017

A load/store performance corner case

›
I have recently seen a number of “is X  faster than  Y ?” discussions where micro benchmarks are used to determine the truth. But performan...
1 comment:
Tuesday, July 4, 2017

Strict aliasing in C90 vs. C99 – and how to read the C standard

›
I often see claims that the strict aliasing rules were introduced in C99, but that is not true – the relevant part of the standard is esse...
1 comment:
‹
›
Home
View web version
Powered by Blogger.