[llvm-commits] [llvm] r169915 - in /llvm/trunk: include/llvm/ lib/Target/ lib/Target/R600/ lib/Target/R600/InstPrinter/ lib/Target/R600/MCTargetDesc/ lib/Target/R600/TargetInfo/ test/CodeGen/R600/ test/CodeGen/SI/

Tom Stellard tom at stellard.net
Wed Dec 12 09:20:57 PST 2012


On Tue, Dec 11, 2012 at 05:08:50PM -0800, Nick Lewycky wrote:
> On 11 December 2012 13:25, Tom Stellard <thomas.stellard at amd.com> wrote:
> 
> > Author: tstellar
> > Date: Tue Dec 11 15:25:42 2012
> > New Revision: 169915
> >
> > URL: http://llvm.org/viewvc/llvm-project?rev=169915&view=rev
> > Log:
> > Add R600 backend
> >
> > A new backend supporting AMD GPUs: Radeon HD2XXX - HD7XXX
> >
> 
> Congrats!!
> 
> 
> > Added:
> >     llvm/trunk/include/llvm/IntrinsicsR600.td
> >     llvm/trunk/lib/Target/R600/
> >     llvm/trunk/lib/Target/R600/AMDGPU.h
> >     llvm/trunk/lib/Target/R600/AMDGPU.td
> >     llvm/trunk/lib/Target/R600/AMDGPUAsmPrinter.cpp
> >     llvm/trunk/lib/Target/R600/AMDGPUAsmPrinter.h
> >     llvm/trunk/lib/Target/R600/AMDGPUCodeEmitter.h
> >     llvm/trunk/lib/Target/R600/AMDGPUConvertToISA.cpp
> >     llvm/trunk/lib/Target/R600/AMDGPUISelLowering.cpp
> >     llvm/trunk/lib/Target/R600/AMDGPUISelLowering.h
> >     llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.cpp
> >     llvm/trunk/lib/Target/R600/AMDGPUInstrInfo.h
> 
> 
> [...]
> 
> 
> >     llvm/trunk/test/CodeGen/R600/udiv.v4i32.ll
> >     llvm/trunk/test/CodeGen/R600/urem.v4i32.ll
> >     llvm/trunk/test/CodeGen/SI/
> >     llvm/trunk/test/CodeGen/SI/sanity.ll
> >
> 
> This is the only thing win test/CodeGen/SI, and there is no matching
> lib/CodeGen/SI. Did you intend to put this under test/CodeGen/R600 ? The
> test itself passes -march=r600.
>

I put the test there on purpose.  SI (Southern Islands) is a completely
different architecture from the rest of the GPUs supported by the
R600 backend.  It has its own ISA and completely different registers.
However, at a higher level is has much in common with the other GPUs,
so there is a lot of code can be shared between the two which is why
they are both part of the same backend.

I wasn't sure the best way to organize the test cases, so I just tried
to follow the precedent set by the ARM backend, which has ARM, Thumb,
and Thumb2 test directories.  Would it be better if I put the SI tests
in the R600 directory?

Thanks,
Tom



More information about the llvm-commits mailing list