diff options
author | Matt Godbolt <matt@godbolt.org> | 2022-02-28 21:36:31 -0600 |
---|---|---|
committer | Matt Godbolt <matt@godbolt.org> | 2022-02-28 21:36:31 -0600 |
commit | 3cda1776ebaae9e88567a87bbad034590eafa25e (patch) | |
tree | 6692017d1de889426ef9a7e8f95fb54b9a187864 | |
parent | afa4f183df2b1d27083e6df3adcee11d0111faa6 (diff) | |
download | compiler-explorer-gh-2141.tar.gz compiler-explorer-gh-2141.zip |
Handle lines with no opcodesgh-2141
Fixes #3276
12 files changed, 2400 insertions, 5 deletions
diff --git a/lib/parsers/asm-parser-dart.js b/lib/parsers/asm-parser-dart.js index eab026700..840f41ba2 100644 --- a/lib/parsers/asm-parser-dart.js +++ b/lib/parsers/asm-parser-dart.js @@ -24,8 +24,8 @@ import * as utils from '../utils'; -import { AsmParser } from './asm-parser'; -import { AsmRegex } from './asmregex'; +import {AsmParser} from './asm-parser'; +import {AsmRegex} from './asmregex'; export class DartAsmParser extends AsmParser { constructor() { @@ -125,7 +125,7 @@ export class DartAsmParser extends AsmParser { match = line.match(this.asmOpcodeRe); if (match) { const address = parseInt(match.groups.address, 16); - const opcodes = match.groups.opcodes.split(' ').filter(x => !!x); + const opcodes = (match.groups.opcodes || '').split(' ').filter(x => !!x); const disassembly = ' ' + AsmRegex.filterAsmLine(match.groups.disasm, filters); const destMatch = line.match(this.destRe); if (destMatch) { diff --git a/lib/parsers/asm-parser.js b/lib/parsers/asm-parser.js index 6893993a9..d5440e96e 100644 --- a/lib/parsers/asm-parser.js +++ b/lib/parsers/asm-parser.js @@ -26,7 +26,7 @@ import _ from 'underscore'; import * as utils from '../utils'; -import { AsmRegex } from './asmregex'; +import {AsmRegex} from './asmregex'; export class AsmParser extends AsmRegex { constructor(compilerProps) { @@ -617,7 +617,7 @@ export class AsmParser extends AsmRegex { match = line.match(this.asmOpcodeRe); if (match) { const address = parseInt(match.groups.address, 16); - const opcodes = match.groups.opcodes.split(' ').filter(x => !!x); + const opcodes = (match.groups.opcodes || '').split(' ').filter(x => !!x); const disassembly = ' ' + AsmRegex.filterAsmLine(match.groups.disasm, filters); const destMatch = line.match(this.destRe); if (destMatch) { diff --git a/test/filters-cases/sass-binary.asm b/test/filters-cases/sass-binary.asm new file mode 100644 index 000000000..7faddec4d --- /dev/null +++ b/test/filters-cases/sass-binary.asm @@ -0,0 +1,74 @@ + .headerflags @"EF_CUDA_TEXMODE_UNIFIED EF_CUDA_64BIT_ADDRESS EF_CUDA_SM52 EF_CUDA_VIRTUAL_SM(EF_CUDA_SM52)" + .elftype @"ET_EXEC" + + +//--------------------- .text._Z3p10Pdi -------------------------- + .section .text._Z3p10Pdi,"ax",@progbits + .sectioninfo @"SHI_REGISTERS=24" + .align 32 + .global _Z3p10Pdi + .type _Z3p10Pdi,@function + .size _Z3p10Pdi,(.L_x_3 - _Z3p10Pdi) + .other _Z3p10Pdi,@"STO_CUDA_ENTRY STV_DEFAULT" +_Z3p10Pdi: +.text._Z3p10Pdi: + //## File "/tmp/compiler-explorer-compiler2022128-339335-18rolti.c8qc/example.cu", line 1 + /* 0x003ff400e24007f6 */ + /*0008*/ MOV R1, c[0x0][0x20] ; /* 0x4c98078000870001 */ + //## File "/opt/compiler-explorer/gcc-10.2.0/include/c++/10.2.0/cmath", line 418 + /*0010*/ I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */ + /*0018*/ CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */ + /* 0x001fd800fe200711 */ + /*0028*/ DADD R4, R2, 10 ; /* 0x3870004024070204 */ + /*0030*/ MOV R6, R8 ; /* 0x5c98078000870006 */ + /*0038*/ MOV R7, R9 ; /* 0x5c98078000970007 */ + /* 0x001fc000fda00ff6 */ + /*0048*/ LOP32I.AND R0, R5, 0x7ff00000 ; /* 0x0407ff0000070500 */ + /*0050*/ ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */ + /*0058*/ { MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */ + /* 0x001c7400fe0007fd */ + /*0068*/ @P0 BRA `(.L_x_0) } + /* 0xe24000000880000f */ + /*0070*/ { MOV R6, R4 ; /* 0x5c98078000470006 */ + /*0078*/ DSETP.GTU.AND P0, PT, |R2|, +INF , PT } + /* 0x368c03fff0070287 */ + /* 0x001c7c01ffa007f0 */ + /*0088*/ { MOV R7, R5 ; /* 0x5c98078000570007 */ + /*0090*/ @P0 BRA `(.L_x_0) } + /* 0xe24000000600000f */ + /* 0x003fc401e3c00f1e */ + /*0528*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */ + /*0530*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */ + /*0538*/ ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */ + /* 0x001fc000ffa007f0 */ + /*0548*/ { MOV R12, R14 ; /* 0x5c98078000e7000c */ + /*0550*/ @!P0 BRA `(.L_x_1) } + /* 0xe24000000988000f */ + /*0558*/ { FSETP.GEU.AND P1, PT, |R11|, c[0x2][0xb8], PT ; /* 0x4bbe038802e70b8f */ + /* 0x003fd000e3000711 */ + /*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT } + /* 0x5b8e03800ff70a07 */ + /*0570*/ DADD R12, R10, +INF ; /* 0x3870007ff0070a0c */ + /*0578*/ SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */ + /* 0x081fc400ffa007f0 */ + /*0588*/ { SEL R13, R13, RZ, P0 ; /* 0x5ca000000ff70d0d */ + /*0590*/ @P1 BRA `(.L_x_1) } + /* 0xe24000000581000f */ + /*0598*/ LEA.HI R0, R8.reuse, R8, RZ, 0x1 ; /* 0x5bdf7f8010870800 */ + /* 0x001fd800fe8007f1 */ + /*0618*/ ISETP.EQ.AND P0, PT, R12, RZ, !P0 ; /* 0x5b6504000ff70c07 */ + /* 0x001fc001fc201f18 */ + /*0628*/ @!P0 DFMA R12, R4, R12, R12 ; /* 0x5b70060000c8040c */ + /*0630*/ MOV R8, R12 ; /* 0x5c98078000c70008 */ + /*0638*/ { MOV R9, R13 ; /* 0x5c98078000d70009 */ + /* 0x001f8000ffe007ff */ + /*0648*/ RET } +.L_x_2: + /* 0xe32000000007000f */ + /*0650*/ BRA `(.L_x_2) ; /* 0xe2400fffff87000f */ + /*0658*/ NOP; /* 0x50b0000000070f00 */ + /* 0x001f8000fc0007e0 */ + /*0668*/ NOP; /* 0x50b0000000070f00 */ + /*0670*/ NOP; /* 0x50b0000000070f00 */ + /*0678*/ NOP; /* 0x50b0000000070f00 */ +.L_x_3: diff --git a/test/filters-cases/sass-binary.asm.binary.directives.labels.comments.approved.txt b/test/filters-cases/sass-binary.asm.binary.directives.labels.comments.approved.txt new file mode 100644 index 000000000..257a689be --- /dev/null +++ b/test/filters-cases/sass-binary.asm.binary.directives.labels.comments.approved.txt @@ -0,0 +1,478 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "address": 8, + "labels": [], + "opcodes": [ + "4c98078000870001" + ], + "source": { + "file": null, + "line": 1, + "mainsource": true + }, + "text": " MOV R1, c[0x0][0x20] " + }, + { + "address": 16, + "labels": [], + "opcodes": [ + "4cb8000005272b02" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " I2F.F64.S32 R2, c[0x0] [0x148] " + }, + { + "address": 24, + "labels": [], + "opcodes": [ + "e260000011800040" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " CAL `($_Z3p10Pdi$__internal_accurate_pow) " + }, + { + "address": 40, + "labels": [], + "opcodes": [ + "3870004024070204" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " DADD R4, R2, 10 " + }, + { + "address": 48, + "labels": [], + "opcodes": [ + "5c98078000870006" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " MOV R6, R8 " + }, + { + "address": 56, + "labels": [], + "opcodes": [ + "5c98078000970007" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " MOV R7, R9 " + }, + { + "address": 72, + "labels": [], + "opcodes": [ + "0407ff0000070500" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " LOP32I.AND R0, R5, 0x7ff00000 " + }, + { + "address": 80, + "labels": [], + "opcodes": [ + "4b6b038800070007" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT " + }, + { + "address": 88, + "labels": [], + "opcodes": [ + "4c98078005270000" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " MOV R0, c[0x0][0x148] " + }, + { + "address": 104, + "labels": [], + "opcodes": [], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " @P0 BRA `(.L_x_0) " + }, + { + "address": 112, + "labels": [], + "opcodes": [ + "5c98078000470006" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " MOV R6, R4 " + }, + { + "address": 120, + "labels": [], + "opcodes": [], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " DSETP.GTU.AND P0, PT, |R2|, +INF , PT " + }, + { + "address": 136, + "labels": [], + "opcodes": [ + "5c98078000570007" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " MOV R7, R5 " + }, + { + "address": 144, + "labels": [], + "opcodes": [], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " @P0 BRA `(.L_x_0) " + }, + { + "address": 1320, + "labels": [], + "opcodes": [ + "5370070802c70c0e" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " DFMA R14, R12, R14, c[0x2][0xb0] " + }, + { + "address": 1328, + "labels": [], + "opcodes": [ + "5370070802c70c0e" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " DFMA R14, R12, R14, c[0x2][0xb0] " + }, + { + "address": 1336, + "labels": [], + "opcodes": [ + "5c180a0000f7080d" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " ISCADD R13, R8, R15, 0x14 " + }, + { + "address": 1352, + "labels": [], + "opcodes": [ + "5c98078000e7000c" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " MOV R12, R14 " + }, + { + "address": 1360, + "labels": [], + "opcodes": [], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " @!P0 BRA `(.L_x_1) " + }, + { + "address": 1368, + "labels": [], + "opcodes": [ + "4bbe038802e70b8f" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " FSETP.GEU.AND P1, PT, |R11|, c[0x2][0xb8], PT " + }, + { + "address": 1384, + "labels": [], + "opcodes": [], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " DSETP.GEU.AND P0, PT, R10, RZ, PT " + }, + { + "address": 1392, + "labels": [], + "opcodes": [ + "3870007ff0070a0c" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " DADD R12, R10, +INF " + }, + { + "address": 1400, + "labels": [], + "opcodes": [ + "5ca000000ff70c0c" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " SEL R12, R12, RZ, P0 " + }, + { + "address": 1416, + "labels": [], + "opcodes": [ + "5ca000000ff70d0d" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " SEL R13, R13, RZ, P0 " + }, + { + "address": 1424, + "labels": [], + "opcodes": [], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " @P1 BRA `(.L_x_1) " + }, + { + "address": 1432, + "labels": [], + "opcodes": [ + "5bdf7f8010870800" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " LEA.HI R0, R8.reuse, R8, RZ, 0x1 " + }, + { + "address": 1560, + "labels": [], + "opcodes": [ + "5b6504000ff70c07" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " ISETP.EQ.AND P0, PT, R12, RZ, !P0 " + }, + { + "address": 1576, + "labels": [], + "opcodes": [ + "5b70060000c8040c" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " @!P0 DFMA R12, R4, R12, R12 " + }, + { + "address": 1584, + "labels": [], + "opcodes": [ + "5c98078000c70008" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " MOV R8, R12 " + }, + { + "address": 1592, + "labels": [], + "opcodes": [ + "5c98078000d70009" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " MOV R9, R13 " + }, + { + "address": 1608, + "labels": [], + "opcodes": [], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " RET " + }, + { + "labels": [], + "source": null, + "text": ".L_x_2:" + }, + { + "address": 1616, + "labels": [], + "opcodes": [ + "e2400fffff87000f" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " BRA `(.L_x_2) " + }, + { + "address": 1624, + "labels": [], + "opcodes": [ + "50b0000000070f00" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " NOP" + }, + { + "address": 1640, + "labels": [], + "opcodes": [ + "50b0000000070f00" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " NOP" + }, + { + "address": 1648, + "labels": [], + "opcodes": [ + "50b0000000070f00" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " NOP" + }, + { + "address": 1656, + "labels": [], + "opcodes": [ + "50b0000000070f00" + ], + "source": { + "file": null, + "line": 418, + "mainsource": true + }, + "text": " NOP" + }, + { + "labels": [], + "source": null, + "text": ".L_x_3:" + } + ], + "labelDefinitions": { + ".L_x_2": 33, + ".L_x_3": 39, + "_Z3p10Pdi": 1 + } +} diff --git a/test/filters-cases/sass-binary.asm.directives.approved.txt b/test/filters-cases/sass-binary.asm.directives.approved.txt new file mode 100644 index 000000000..c2fd25c57 --- /dev/null +++ b/test/filters-cases/sass-binary.asm.directives.approved.txt @@ -0,0 +1,322 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": "//--------------------- .text._Z3p10Pdi --------------------------" + }, + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": ".text._Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": " //## File \"/tmp/compiler-explorer-compiler2022128-339335-18rolti.c8qc/example.cu\", line 1" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003ff400e24007f6 */" + }, + { + "labels": [], + "source": null, + "text": " /*0008*/ MOV R1, c[0x0][0x20] ; /* 0x4c98078000870001 */" + }, + { + "labels": [], + "source": null, + "text": " //## File \"/opt/compiler-explorer/gcc-10.2.0/include/c++/10.2.0/cmath\", line 418" + }, + { + "labels": [], + "source": null, + "text": " /*0010*/ I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */" + }, + { + "labels": [], + "source": null, + "text": " /*0018*/ CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fd800fe200711 */" + }, + { + "labels": [], + "source": null, + "text": " /*0028*/ DADD R4, R2, 10 ; /* 0x3870004024070204 */" + }, + { + "labels": [], + "source": null, + "text": " /*0030*/ MOV R6, R8 ; /* 0x5c98078000870006 */" + }, + { + "labels": [], + "source": null, + "text": " /*0038*/ MOV R7, R9 ; /* 0x5c98078000970007 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc000fda00ff6 */" + }, + { + "labels": [], + "source": null, + "text": " /*0048*/ LOP32I.AND R0, R5, 0x7ff00000 ; /* 0x0407ff0000070500 */" + }, + { + "labels": [], + "source": null, + "text": " /*0050*/ ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */" + }, + { + "labels": [], + "source": null, + "text": " /*0058*/ { MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001c7400fe0007fd */" + }, + { + "labels": [], + "source": null, + "text": " /*0068*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000880000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0070*/ { MOV R6, R4 ; /* 0x5c98078000470006 */" + }, + { + "labels": [], + "source": null, + "text": " /*0078*/ DSETP.GTU.AND P0, PT, |R2|, +INF , PT }" + }, + { + "labels": [], + "source": null, + "text": " /* 0x368c03fff0070287 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001c7c01ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0088*/ { MOV R7, R5 ; /* 0x5c98078000570007 */" + }, + { + "labels": [], + "source": null, + "text": " /*0090*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000600000f */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003fc401e3c00f1e */" + }, + { + "labels": [], + "source": null, + "text": " /*0528*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": " /*0530*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": " /*0538*/ ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc000ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0548*/ { MOV R12, R14 ; /* 0x5c98078000e7000c */" + }, + { + "labels": [], + "source": null, + "text": " /*0550*/ @!P0 BRA `(.L_x_1) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000988000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0558*/ { FSETP.GEU.AND P1, PT, |R11|, c[0x2][0xb8], PT ; /* 0x4bbe038802e70b8f */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003fd000e3000711 */" + }, + { + "labels": [], + "source": null, + "text": " /*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT }" + }, + { + "labels": [], + "source": null, + "text": " /* 0x5b8e03800ff70a07 */" + }, + { + "labels": [], + "source": null, + "text": " /*0570*/ DADD R12, R10, +INF ; /* 0x3870007ff0070a0c */" + }, + { + "labels": [], + "source": null, + "text": " /*0578*/ SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x081fc400ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0588*/ { SEL R13, R13, RZ, P0 ; /* 0x5ca000000ff70d0d */" + }, + { + "labels": [], + "source": null, + "text": " /*0590*/ @P1 BRA `(.L_x_1) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000581000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0598*/ LEA.HI R0, R8.reuse, R8, RZ, 0x1 ; /* 0x5bdf7f8010870800 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fd800fe8007f1 */" + }, + { + "labels": [], + "source": null, + "text": " /*0618*/ ISETP.EQ.AND P0, PT, R12, RZ, !P0 ; /* 0x5b6504000ff70c07 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc001fc201f18 */" + }, + { + "labels": [], + "source": null, + "text": " /*0628*/ @!P0 DFMA R12, R4, R12, R12 ; /* 0x5b70060000c8040c */" + }, + { + "labels": [], + "source": null, + "text": " /*0630*/ MOV R8, R12 ; /* 0x5c98078000c70008 */" + }, + { + "labels": [], + "source": null, + "text": " /*0638*/ { MOV R9, R13 ; /* 0x5c98078000d70009 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001f8000ffe007ff */" + }, + { + "labels": [], + "source": null, + "text": " /*0648*/ RET }" + }, + { + "labels": [], + "source": null, + "text": ".L_x_2:" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe32000000007000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0650*/ BRA `(.L_x_2) ; /* 0xe2400fffff87000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0658*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001f8000fc0007e0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0668*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /*0670*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /*0678*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": ".L_x_3:" + } + ], + "labelDefinitions": { + "_Z3p10Pdi": 2 + } +} diff --git a/test/filters-cases/sass-binary.asm.directives.comments.approved.txt b/test/filters-cases/sass-binary.asm.directives.comments.approved.txt new file mode 100644 index 000000000..b610ac8e0 --- /dev/null +++ b/test/filters-cases/sass-binary.asm.directives.comments.approved.txt @@ -0,0 +1,127 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": ".text._Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": "I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */" + }, + { + "labels": [], + "source": null, + "text": "CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */" + }, + { + "labels": [], + "source": null, + "text": "MOV R6, R8 ; /* 0x5c98078000870006 */" + }, + { + "labels": [], + "source": null, + "text": "MOV R7, R9 ; /* 0x5c98078000970007 */" + }, + { + "labels": [], + "source": null, + "text": "ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */" + }, + { + "labels": [], + "source": null, + "text": "/*0068*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": "DSETP.GTU.AND P0, PT, |R2|, +INF , PT }" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R7, R5 ; /* 0x5c98078000570007 */" + }, + { + "labels": [], + "source": null, + "text": "DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": "DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": "ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */" + }, + { + "labels": [], + "source": null, + "text": "/*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT }" + }, + { + "labels": [], + "source": null, + "text": "SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */" + }, + { + "labels": [], + "source": null, + "text": "MOV R8, R12 ; /* 0x5c98078000c70008 */" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R9, R13 ; /* 0x5c98078000d70009 */" + }, + { + "labels": [], + "source": null, + "text": "/*0648*/ RET }" + }, + { + "labels": [], + "source": null, + "text": ".L_x_2:" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": ".L_x_3:" + } + ], + "labelDefinitions": { + "_Z3p10Pdi": 1 + } +} diff --git a/test/filters-cases/sass-binary.asm.directives.labels.approved.txt b/test/filters-cases/sass-binary.asm.directives.labels.approved.txt new file mode 100644 index 000000000..7b90f3432 --- /dev/null +++ b/test/filters-cases/sass-binary.asm.directives.labels.approved.txt @@ -0,0 +1,307 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": "//--------------------- .text._Z3p10Pdi --------------------------" + }, + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": " //## File \"/tmp/compiler-explorer-compiler2022128-339335-18rolti.c8qc/example.cu\", line 1" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003ff400e24007f6 */" + }, + { + "labels": [], + "source": null, + "text": " /*0008*/ MOV R1, c[0x0][0x20] ; /* 0x4c98078000870001 */" + }, + { + "labels": [], + "source": null, + "text": " //## File \"/opt/compiler-explorer/gcc-10.2.0/include/c++/10.2.0/cmath\", line 418" + }, + { + "labels": [], + "source": null, + "text": " /*0010*/ I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */" + }, + { + "labels": [], + "source": null, + "text": " /*0018*/ CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fd800fe200711 */" + }, + { + "labels": [], + "source": null, + "text": " /*0028*/ DADD R4, R2, 10 ; /* 0x3870004024070204 */" + }, + { + "labels": [], + "source": null, + "text": " /*0030*/ MOV R6, R8 ; /* 0x5c98078000870006 */" + }, + { + "labels": [], + "source": null, + "text": " /*0038*/ MOV R7, R9 ; /* 0x5c98078000970007 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc000fda00ff6 */" + }, + { + "labels": [], + "source": null, + "text": " /*0048*/ LOP32I.AND R0, R5, 0x7ff00000 ; /* 0x0407ff0000070500 */" + }, + { + "labels": [], + "source": null, + "text": " /*0050*/ ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */" + }, + { + "labels": [], + "source": null, + "text": " /*0058*/ { MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001c7400fe0007fd */" + }, + { + "labels": [], + "source": null, + "text": " /*0068*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000880000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0070*/ { MOV R6, R4 ; /* 0x5c98078000470006 */" + }, + { + "labels": [], + "source": null, + "text": " /*0078*/ DSETP.GTU.AND P0, PT, |R2|, +INF , PT }" + }, + { + "labels": [], + "source": null, + "text": " /* 0x368c03fff0070287 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001c7c01ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0088*/ { MOV R7, R5 ; /* 0x5c98078000570007 */" + }, + { + "labels": [], + "source": null, + "text": " /*0090*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000600000f */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003fc401e3c00f1e */" + }, + { + "labels": [], + "source": null, + "text": " /*0528*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": " /*0530*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": " /*0538*/ ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc000ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0548*/ { MOV R12, R14 ; /* 0x5c98078000e7000c */" + }, + { + "labels": [], + "source": null, + "text": " /*0550*/ @!P0 BRA `(.L_x_1) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000988000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0558*/ { FSETP.GEU.AND P1, PT, |R11|, c[0x2][0xb8], PT ; /* 0x4bbe038802e70b8f */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003fd000e3000711 */" + }, + { + "labels": [], + "source": null, + "text": " /*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT }" + }, + { + "labels": [], + "source": null, + "text": " /* 0x5b8e03800ff70a07 */" + }, + { + "labels": [], + "source": null, + "text": " /*0570*/ DADD R12, R10, +INF ; /* 0x3870007ff0070a0c */" + }, + { + "labels": [], + "source": null, + "text": " /*0578*/ SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x081fc400ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0588*/ { SEL R13, R13, RZ, P0 ; /* 0x5ca000000ff70d0d */" + }, + { + "labels": [], + "source": null, + "text": " /*0590*/ @P1 BRA `(.L_x_1) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000581000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0598*/ LEA.HI R0, R8.reuse, R8, RZ, 0x1 ; /* 0x5bdf7f8010870800 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fd800fe8007f1 */" + }, + { + "labels": [], + "source": null, + "text": " /*0618*/ ISETP.EQ.AND P0, PT, R12, RZ, !P0 ; /* 0x5b6504000ff70c07 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc001fc201f18 */" + }, + { + "labels": [], + "source": null, + "text": " /*0628*/ @!P0 DFMA R12, R4, R12, R12 ; /* 0x5b70060000c8040c */" + }, + { + "labels": [], + "source": null, + "text": " /*0630*/ MOV R8, R12 ; /* 0x5c98078000c70008 */" + }, + { + "labels": [], + "source": null, + "text": " /*0638*/ { MOV R9, R13 ; /* 0x5c98078000d70009 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001f8000ffe007ff */" + }, + { + "labels": [], + "source": null, + "text": " /*0648*/ RET }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe32000000007000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0650*/ BRA `(.L_x_2) ; /* 0xe2400fffff87000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0658*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001f8000fc0007e0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0668*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /*0670*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /*0678*/ NOP; /* 0x50b0000000070f00 */" + } + ], + "labelDefinitions": { + "_Z3p10Pdi": 2 + } +} diff --git a/test/filters-cases/sass-binary.asm.directives.labels.comments.approved.txt b/test/filters-cases/sass-binary.asm.directives.labels.comments.approved.txt new file mode 100644 index 000000000..f3ac354c3 --- /dev/null +++ b/test/filters-cases/sass-binary.asm.directives.labels.comments.approved.txt @@ -0,0 +1,112 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": "I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */" + }, + { + "labels": [], + "source": null, + "text": "CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */" + }, + { + "labels": [], + "source": null, + "text": "MOV R6, R8 ; /* 0x5c98078000870006 */" + }, + { + "labels": [], + "source": null, + "text": "MOV R7, R9 ; /* 0x5c98078000970007 */" + }, + { + "labels": [], + "source": null, + "text": "ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */" + }, + { + "labels": [], + "source": null, + "text": "/*0068*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": "DSETP.GTU.AND P0, PT, |R2|, +INF , PT }" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R7, R5 ; /* 0x5c98078000570007 */" + }, + { + "labels": [], + "source": null, + "text": "DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": "DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": "ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */" + }, + { + "labels": [], + "source": null, + "text": "/*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT }" + }, + { + "labels": [], + "source": null, + "text": "SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */" + }, + { + "labels": [], + "source": null, + "text": "MOV R8, R12 ; /* 0x5c98078000c70008 */" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R9, R13 ; /* 0x5c98078000d70009 */" + }, + { + "labels": [], + "source": null, + "text": "/*0648*/ RET }" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + } + ], + "labelDefinitions": { + "_Z3p10Pdi": 1 + } +} diff --git a/test/filters-cases/sass-binary.asm.directives.labels.comments.library.approved.txt b/test/filters-cases/sass-binary.asm.directives.labels.comments.library.approved.txt new file mode 100644 index 000000000..f3ac354c3 --- /dev/null +++ b/test/filters-cases/sass-binary.asm.directives.labels.comments.library.approved.txt @@ -0,0 +1,112 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": "I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */" + }, + { + "labels": [], + "source": null, + "text": "CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */" + }, + { + "labels": [], + "source": null, + "text": "MOV R6, R8 ; /* 0x5c98078000870006 */" + }, + { + "labels": [], + "source": null, + "text": "MOV R7, R9 ; /* 0x5c98078000970007 */" + }, + { + "labels": [], + "source": null, + "text": "ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */" + }, + { + "labels": [], + "source": null, + "text": "/*0068*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": "DSETP.GTU.AND P0, PT, |R2|, +INF , PT }" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R7, R5 ; /* 0x5c98078000570007 */" + }, + { + "labels": [], + "source": null, + "text": "DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": "DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": "ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */" + }, + { + "labels": [], + "source": null, + "text": "/*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT }" + }, + { + "labels": [], + "source": null, + "text": "SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */" + }, + { + "labels": [], + "source": null, + "text": "MOV R8, R12 ; /* 0x5c98078000c70008 */" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R9, R13 ; /* 0x5c98078000d70009 */" + }, + { + "labels": [], + "source": null, + "text": "/*0648*/ RET }" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + } + ], + "labelDefinitions": { + "_Z3p10Pdi": 1 + } +} diff --git a/test/filters-cases/sass-binary.asm.directives.labels.comments.library.dontMaskFilenames.approved.txt b/test/filters-cases/sass-binary.asm.directives.labels.comments.library.dontMaskFilenames.approved.txt new file mode 100644 index 000000000..f3ac354c3 --- /dev/null +++ b/test/filters-cases/sass-binary.asm.directives.labels.comments.library.dontMaskFilenames.approved.txt @@ -0,0 +1,112 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": "I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */" + }, + { + "labels": [], + "source": null, + "text": "CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */" + }, + { + "labels": [], + "source": null, + "text": "MOV R6, R8 ; /* 0x5c98078000870006 */" + }, + { + "labels": [], + "source": null, + "text": "MOV R7, R9 ; /* 0x5c98078000970007 */" + }, + { + "labels": [], + "source": null, + "text": "ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */" + }, + { + "labels": [], + "source": null, + "text": "/*0068*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": "DSETP.GTU.AND P0, PT, |R2|, +INF , PT }" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R7, R5 ; /* 0x5c98078000570007 */" + }, + { + "labels": [], + "source": null, + "text": "DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": "DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": "ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */" + }, + { + "labels": [], + "source": null, + "text": "/*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT }" + }, + { + "labels": [], + "source": null, + "text": "SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */" + }, + { + "labels": [], + "source": null, + "text": "MOV R8, R12 ; /* 0x5c98078000c70008 */" + }, + { + "labels": [], + "source": null, + "text": "{ MOV R9, R13 ; /* 0x5c98078000d70009 */" + }, + { + "labels": [], + "source": null, + "text": "/*0648*/ RET }" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": "NOP; /* 0x50b0000000070f00 */" + } + ], + "labelDefinitions": { + "_Z3p10Pdi": 1 + } +} diff --git a/test/filters-cases/sass-binary.asm.directives.library.approved.txt b/test/filters-cases/sass-binary.asm.directives.library.approved.txt new file mode 100644 index 000000000..c2fd25c57 --- /dev/null +++ b/test/filters-cases/sass-binary.asm.directives.library.approved.txt @@ -0,0 +1,322 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": "//--------------------- .text._Z3p10Pdi --------------------------" + }, + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": ".text._Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": " //## File \"/tmp/compiler-explorer-compiler2022128-339335-18rolti.c8qc/example.cu\", line 1" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003ff400e24007f6 */" + }, + { + "labels": [], + "source": null, + "text": " /*0008*/ MOV R1, c[0x0][0x20] ; /* 0x4c98078000870001 */" + }, + { + "labels": [], + "source": null, + "text": " //## File \"/opt/compiler-explorer/gcc-10.2.0/include/c++/10.2.0/cmath\", line 418" + }, + { + "labels": [], + "source": null, + "text": " /*0010*/ I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */" + }, + { + "labels": [], + "source": null, + "text": " /*0018*/ CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fd800fe200711 */" + }, + { + "labels": [], + "source": null, + "text": " /*0028*/ DADD R4, R2, 10 ; /* 0x3870004024070204 */" + }, + { + "labels": [], + "source": null, + "text": " /*0030*/ MOV R6, R8 ; /* 0x5c98078000870006 */" + }, + { + "labels": [], + "source": null, + "text": " /*0038*/ MOV R7, R9 ; /* 0x5c98078000970007 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc000fda00ff6 */" + }, + { + "labels": [], + "source": null, + "text": " /*0048*/ LOP32I.AND R0, R5, 0x7ff00000 ; /* 0x0407ff0000070500 */" + }, + { + "labels": [], + "source": null, + "text": " /*0050*/ ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */" + }, + { + "labels": [], + "source": null, + "text": " /*0058*/ { MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001c7400fe0007fd */" + }, + { + "labels": [], + "source": null, + "text": " /*0068*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000880000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0070*/ { MOV R6, R4 ; /* 0x5c98078000470006 */" + }, + { + "labels": [], + "source": null, + "text": " /*0078*/ DSETP.GTU.AND P0, PT, |R2|, +INF , PT }" + }, + { + "labels": [], + "source": null, + "text": " /* 0x368c03fff0070287 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001c7c01ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0088*/ { MOV R7, R5 ; /* 0x5c98078000570007 */" + }, + { + "labels": [], + "source": null, + "text": " /*0090*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000600000f */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003fc401e3c00f1e */" + }, + { + "labels": [], + "source": null, + "text": " /*0528*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": " /*0530*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": " /*0538*/ ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc000ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0548*/ { MOV R12, R14 ; /* 0x5c98078000e7000c */" + }, + { + "labels": [], + "source": null, + "text": " /*0550*/ @!P0 BRA `(.L_x_1) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000988000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0558*/ { FSETP.GEU.AND P1, PT, |R11|, c[0x2][0xb8], PT ; /* 0x4bbe038802e70b8f */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003fd000e3000711 */" + }, + { + "labels": [], + "source": null, + "text": " /*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT }" + }, + { + "labels": [], + "source": null, + "text": " /* 0x5b8e03800ff70a07 */" + }, + { + "labels": [], + "source": null, + "text": " /*0570*/ DADD R12, R10, +INF ; /* 0x3870007ff0070a0c */" + }, + { + "labels": [], + "source": null, + "text": " /*0578*/ SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x081fc400ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0588*/ { SEL R13, R13, RZ, P0 ; /* 0x5ca000000ff70d0d */" + }, + { + "labels": [], + "source": null, + "text": " /*0590*/ @P1 BRA `(.L_x_1) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000581000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0598*/ LEA.HI R0, R8.reuse, R8, RZ, 0x1 ; /* 0x5bdf7f8010870800 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fd800fe8007f1 */" + }, + { + "labels": [], + "source": null, + "text": " /*0618*/ ISETP.EQ.AND P0, PT, R12, RZ, !P0 ; /* 0x5b6504000ff70c07 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc001fc201f18 */" + }, + { + "labels": [], + "source": null, + "text": " /*0628*/ @!P0 DFMA R12, R4, R12, R12 ; /* 0x5b70060000c8040c */" + }, + { + "labels": [], + "source": null, + "text": " /*0630*/ MOV R8, R12 ; /* 0x5c98078000c70008 */" + }, + { + "labels": [], + "source": null, + "text": " /*0638*/ { MOV R9, R13 ; /* 0x5c98078000d70009 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001f8000ffe007ff */" + }, + { + "labels": [], + "source": null, + "text": " /*0648*/ RET }" + }, + { + "labels": [], + "source": null, + "text": ".L_x_2:" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe32000000007000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0650*/ BRA `(.L_x_2) ; /* 0xe2400fffff87000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0658*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001f8000fc0007e0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0668*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /*0670*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /*0678*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": ".L_x_3:" + } + ], + "labelDefinitions": { + "_Z3p10Pdi": 2 + } +} diff --git a/test/filters-cases/sass-binary.asm.none.approved.txt b/test/filters-cases/sass-binary.asm.none.approved.txt new file mode 100644 index 000000000..2d605b265 --- /dev/null +++ b/test/filters-cases/sass-binary.asm.none.approved.txt @@ -0,0 +1,429 @@ +{ + "asm": [ + { + "labels": [], + "source": null, + "text": " .headerflags @\"EF_CUDA_TEXMODE_UNIFIED EF_CUDA_64BIT_ADDRESS EF_CUDA_SM52 EF_CUDA_VIRTUAL_SM(EF_CUDA_SM52)\"" + }, + { + "labels": [], + "source": null, + "text": " .elftype @\"ET_EXEC\"" + }, + { + "labels": [], + "source": null, + "text": "" + }, + { + "labels": [], + "source": null, + "text": "//--------------------- .text._Z3p10Pdi --------------------------" + }, + { + "labels": [], + "source": null, + "text": " .section .text._Z3p10Pdi,\"ax\",@progbits" + }, + { + "labels": [], + "source": null, + "text": " .sectioninfo @\"SHI_REGISTERS=24\"" + }, + { + "labels": [], + "source": null, + "text": " .align 32" + }, + { + "labels": [ + { + "name": "_Z3p10Pdi", + "range": { + "endCol": 34, + "startCol": 25 + } + } + ], + "source": null, + "text": " .global _Z3p10Pdi" + }, + { + "labels": [ + { + "name": "_Z3p10Pdi", + "range": { + "endCol": 34, + "startCol": 25 + } + } + ], + "source": null, + "text": " .type _Z3p10Pdi,@function" + }, + { + "labels": [ + { + "name": "_Z3p10Pdi", + "range": { + "endCol": 34, + "startCol": 25 + } + }, + { + "name": ".L_x_3", + "range": { + "endCol": 42, + "startCol": 36 + } + }, + { + "name": "_Z3p10Pdi", + "range": { + "endCol": 54, + "startCol": 45 + } + } + ], + "source": null, + "text": " .size _Z3p10Pdi,(.L_x_3 - _Z3p10Pdi)" + }, + { + "labels": [ + { + "name": "_Z3p10Pdi", + "range": { + "endCol": 34, + "startCol": 25 + } + } + ], + "source": null, + "text": " .other _Z3p10Pdi,@\"STO_CUDA_ENTRY STV_DEFAULT\"" + }, + { + "labels": [], + "source": null, + "text": "_Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": ".text._Z3p10Pdi:" + }, + { + "labels": [], + "source": null, + "text": " //## File \"/tmp/compiler-explorer-compiler2022128-339335-18rolti.c8qc/example.cu\", line 1" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003ff400e24007f6 */" + }, + { + "labels": [], + "source": null, + "text": " /*0008*/ MOV R1, c[0x0][0x20] ; /* 0x4c98078000870001 */" + }, + { + "labels": [], + "source": null, + "text": " //## File \"/opt/compiler-explorer/gcc-10.2.0/include/c++/10.2.0/cmath\", line 418" + }, + { + "labels": [], + "source": null, + "text": " /*0010*/ I2F.F64.S32 R2, c[0x0] [0x148] ; /* 0x4cb8000005272b02 */" + }, + { + "labels": [], + "source": null, + "text": " /*0018*/ CAL `($_Z3p10Pdi$__internal_accurate_pow) ; /* 0xe260000011800040 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fd800fe200711 */" + }, + { + "labels": [], + "source": null, + "text": " /*0028*/ DADD R4, R2, 10 ; /* 0x3870004024070204 */" + }, + { + "labels": [], + "source": null, + "text": " /*0030*/ MOV R6, R8 ; /* 0x5c98078000870006 */" + }, + { + "labels": [], + "source": null, + "text": " /*0038*/ MOV R7, R9 ; /* 0x5c98078000970007 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc000fda00ff6 */" + }, + { + "labels": [], + "source": null, + "text": " /*0048*/ LOP32I.AND R0, R5, 0x7ff00000 ; /* 0x0407ff0000070500 */" + }, + { + "labels": [], + "source": null, + "text": " /*0050*/ ISETP.NE.AND P0, PT, R0, c[0x2][0x0], PT ; /* 0x4b6b038800070007 */" + }, + { + "labels": [], + "source": null, + "text": " /*0058*/ { MOV R0, c[0x0][0x148] ; /* 0x4c98078005270000 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001c7400fe0007fd */" + }, + { + "labels": [], + "source": null, + "text": " /*0068*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000880000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0070*/ { MOV R6, R4 ; /* 0x5c98078000470006 */" + }, + { + "labels": [], + "source": null, + "text": " /*0078*/ DSETP.GTU.AND P0, PT, |R2|, +INF , PT }" + }, + { + "labels": [], + "source": null, + "text": " /* 0x368c03fff0070287 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001c7c01ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0088*/ { MOV R7, R5 ; /* 0x5c98078000570007 */" + }, + { + "labels": [], + "source": null, + "text": " /*0090*/ @P0 BRA `(.L_x_0) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000600000f */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003fc401e3c00f1e */" + }, + { + "labels": [], + "source": null, + "text": " /*0528*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": " /*0530*/ DFMA R14, R12, R14, c[0x2][0xb0] ; /* 0x5370070802c70c0e */" + }, + { + "labels": [], + "source": null, + "text": " /*0538*/ ISCADD R13, R8, R15, 0x14 ; /* 0x5c180a0000f7080d */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc000ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0548*/ { MOV R12, R14 ; /* 0x5c98078000e7000c */" + }, + { + "labels": [], + "source": null, + "text": " /*0550*/ @!P0 BRA `(.L_x_1) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000988000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0558*/ { FSETP.GEU.AND P1, PT, |R11|, c[0x2][0xb8], PT ; /* 0x4bbe038802e70b8f */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x003fd000e3000711 */" + }, + { + "labels": [], + "source": null, + "text": " /*0568*/ DSETP.GEU.AND P0, PT, R10, RZ, PT }" + }, + { + "labels": [], + "source": null, + "text": " /* 0x5b8e03800ff70a07 */" + }, + { + "labels": [], + "source": null, + "text": " /*0570*/ DADD R12, R10, +INF ; /* 0x3870007ff0070a0c */" + }, + { + "labels": [], + "source": null, + "text": " /*0578*/ SEL R12, R12, RZ, P0 ; /* 0x5ca000000ff70c0c */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x081fc400ffa007f0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0588*/ { SEL R13, R13, RZ, P0 ; /* 0x5ca000000ff70d0d */" + }, + { + "labels": [], + "source": null, + "text": " /*0590*/ @P1 BRA `(.L_x_1) }" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe24000000581000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0598*/ LEA.HI R0, R8.reuse, R8, RZ, 0x1 ; /* 0x5bdf7f8010870800 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fd800fe8007f1 */" + }, + { + "labels": [], + "source": null, + "text": " /*0618*/ ISETP.EQ.AND P0, PT, R12, RZ, !P0 ; /* 0x5b6504000ff70c07 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001fc001fc201f18 */" + }, + { + "labels": [], + "source": null, + "text": " /*0628*/ @!P0 DFMA R12, R4, R12, R12 ; /* 0x5b70060000c8040c */" + }, + { + "labels": [], + "source": null, + "text": " /*0630*/ MOV R8, R12 ; /* 0x5c98078000c70008 */" + }, + { + "labels": [], + "source": null, + "text": " /*0638*/ { MOV R9, R13 ; /* 0x5c98078000d70009 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001f8000ffe007ff */" + }, + { + "labels": [], + "source": null, + "text": " /*0648*/ RET }" + }, + { + "labels": [], + "source": null, + "text": ".L_x_2:" + }, + { + "labels": [], + "source": null, + "text": " /* 0xe32000000007000f */" + }, + { + "labels": [ + { + "name": ".L_x_2", + "range": { + "endCol": 48, + "startCol": 42 + } + } + ], + "source": null, + "text": " /*0650*/ BRA `(.L_x_2) ; /* 0xe2400fffff87000f */" + }, + { + "labels": [], + "source": null, + "text": " /*0658*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /* 0x001f8000fc0007e0 */" + }, + { + "labels": [], + "source": null, + "text": " /*0668*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /*0670*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": " /*0678*/ NOP; /* 0x50b0000000070f00 */" + }, + { + "labels": [], + "source": null, + "text": ".L_x_3:" + } + ], + "labelDefinitions": { + ".L_x_2": 65, + ".L_x_3": 73, + ".text._Z3p10Pdi": 13, + "_Z3p10Pdi": 12 + } +} |