=encoding utf8 =head1 NAME clrxdisasm - disassemble Radeon code binaries =head1 SYNOPSIS clrxdisasm [-mdcCfsHhar?] [-g GPUDEVICE] [-a ARCH] [-t VERSION] [--metadata] [--data] [--calNotes] [--config] [--floats] [--hexcode] [--all] [--setup] [--HSAConfig [--raw] [--gpuType=GPUDEVICE] [--arch=ARCH] [--driverVersion=VERSION] [--llvmVersion=VERSION] [--buggyFPLit] [--help] [--usage] [--version] [file...] =head1 DESCRIPTION This is CLRadeonExtender utility to disassemble the Radeon GPU code. This disassembler can disassemble code for GCN 1.0/1.1/1.2/1.4 (AMD VEGA) architectures, but not for the VLIW architecture. Disassembler can handle the AMD Catalyst(tm) OpenCL(tm) kernel binaries and the GalliumCompute kernel binaries. It displays instructions of the code and optionally structure of the binaries (kernels and their configuration). Output of that program can be used as input to the CLRX assembler if option '--all' will be used. =head1 OPTIONS Following options clrxdisasm can recognize: =over 8 =item B<-m>, B<--metadata> Print metadata from AMD Catalyst binaries to output. For a AMD Catalyst binaries, disassembler prints internal metadata. For a GalliumCompute binaries disassembler prints argument of the kernel and proginfo entries. =item B<-d>, B<--data> Print data section from binaries. For AMD Catalyst binaries disassembler prints global constant data, and '.data' section for particular kernel executables. For GalliumCompute binaries disassembler prints a global constant data. =item B<-c>, B<--calNotes> Print list of the ATI CAL notes and their content from AMD Catalyst binaries to output. =item B<-C>, B<--config> Print human-readable configuration instead of metadatas, headers and ATI CAL notes. =item B<-s>, B<--setup> Print AMD OpenCL 2.0 kernel setup data. =item B<-H>, B<--HSAConfig> Print AMD OpenCL 2.0 kernel setup configuration as AMD HSA configuration. =item B<-f>, B<--float> Print floating point literals in instructions if instructions accept float point values and their has a constant literal. Floating point values will be inside comment. =item B<-h>, B<--hexcode> Print hexadecimal code before disassembled instruction in comment. Hexadecimal code will be printed in 4-byte words. =item B<-a>, B<--all> Enable all options -mdcfh (except -C). =item B<-r>, B<--raw> Treat input as raw code. By default, disassembler assumes that input code is for the GCN1.0 architecture. =item B<-g GPUDEVICE>, B<--gpuType=GPUDEVICE> Choose device type. Device type name is case-insensitive. Currently is supported: CapeVerde, Pitcairn, Tahiti, Oland, Bonaire, Spectre, Spooky, Kalindi, Hainan, Hawaii, Iceland, Tonga, Mullins, Fiji, Carrizo, Dummy, Goose, Horse, Stoney, Ellesmere, Baffin, GFX804 and GFX900. =item B<-A ARCH>, B<--arch=ARCH> Choose device architecture. Architecture name is case-insensitive. List of supported architectures: SI, VI, CI, VEGA, GFX6, GFX7, GFX8, GFX9, GCN1.0, GCN1.1, GCN1.2 and GCN1.4. =item B<-t VERSION>, B<--driverVersion=VERSION> Choose AMD Catalyst OpenCL driver version for which binaries are generated. Version can retrieved from clinfo program that display field 'Driver version' where version is. Version is number in that form: MajorVersion*100 + MinorVersion. Used for AMD OpenCL 2.0 binaries. =item B<--llvmVersion=VERSION> Choose LLVM version that generates binaries. Version is number in that form: MajorVersion*100 + MinorVersion. =item B<--buggyFPLit> Choose old and buggy floating point literals rules (to 0.1.2 version) for compatibility. =item B<-?>, B<--help> Print help and list of the options. =item B<--usage> Print usage for this program =item B<--version> Print version =back =head1 RETURN VALUE Returns zero if disassembler succeeded, otherwise returns 1. =head1 AUTHOR Mateusz Szpakowski =head1 SEE ALSO clrxasm(1)