brintos

brintos / llvm-project-archived public Read only

0
0
Text · 18.4 KiB · e705fb0 Raw
372 lines · plain
1REQUIRES: aarch64, x862RUN: split-file %s %t.dir && cd %t.dir3 4RUN: llvm-mc -filetype=obj -triple=arm64ec-windows test-arm64ec.s -o test-arm64ec.obj5RUN: llvm-mc -filetype=obj -triple=aarch64-windows test-arm64.s -o test-arm64.obj6RUN: llvm-mc -filetype=obj -triple=arm64ec-windows arm64ec-helper.s -o arm64ec-helper.obj7RUN: llvm-mc -filetype=obj -triple=aarch64-windows arm64-helper.s -o arm64-helper.obj8RUN: llvm-mc -filetype=obj -triple=arm64ec-windows %S/Inputs/loadconfig-arm64ec.s -o loadconfig-arm64ec.obj9RUN: llvm-mc -filetype=obj -triple=aarch64-windows %S/Inputs/loadconfig-arm64.s -o loadconfig-arm64.obj10RUN: llvm-lib -machine:arm64ec -def:test.def -out:test-arm64ec.lib11RUN: llvm-lib -machine:arm64 -def:test.def -out:test-arm64.lib12 13# Test delayed-load import from both native and EC code.14 15RUN: lld-link -machine:arm64x -dll -noentry -out:out.dll loadconfig-arm64.obj loadconfig-arm64ec.obj \16RUN:          arm64-helper.obj arm64ec-helper.obj test-arm64.obj test-arm64ec.obj test-arm64.lib test-arm64ec.lib -delayload:test.dll17 18RUN: llvm-readobj --coff-imports out.dll | FileCheck --check-prefix=IMPORTS %s19IMPORTS:      DelayImport {20IMPORTS-NEXT:   Name: test.dll21IMPORTS-NEXT:   Attributes: 0x122IMPORTS-NEXT:   ModuleHandle: 0x608023IMPORTS-NEXT:   ImportAddressTable: 0x608824IMPORTS-NEXT:   ImportNameTable: 0x438825IMPORTS-NEXT:   BoundDelayImportTable: 0x026IMPORTS-NEXT:   UnloadDelayImportTable: 0x027IMPORTS-NEXT:   Import {28IMPORTS-NEXT:     Symbol: func (0)29IMPORTS-NEXT:     Address: 0x18000101430IMPORTS-NEXT:   }31IMPORTS-NEXT: }32IMPORTS-NEXT: HybridObject {33IMPORTS:        DelayImport {34IMPORTS-NEXT:     Name: test.dll35IMPORTS-NEXT:     Attributes: 0x136IMPORTS-NEXT:     ModuleHandle: 0x608037IMPORTS-NEXT:     ImportAddressTable: 0x609838IMPORTS-NEXT:     ImportNameTable: 0x439839IMPORTS-NEXT:     BoundDelayImportTable: 0x040IMPORTS-NEXT:     UnloadDelayImportTable: 0x041IMPORTS-NEXT:     Import {42IMPORTS-NEXT:       Symbol: func (0)43IMPORTS-NEXT:       Address: 0x18000300644IMPORTS-NEXT:     }45IMPORTS-NEXT:   }46IMPORTS-NEXT: }47 48RUN: llvm-readobj --hex-dump=.test out.dll | FileCheck --check-prefix=TESTSEC %s49TESTSEC: 0x180009000 10500000 98600000 00300000 1020000050 51RUN: llvm-readobj --hex-dump=.testa out.dll | FileCheck --check-prefix=TESTSECA %s52TESTSECA: 0x18000a000 88600000 0810000053 54RUN: llvm-objdump -d out.dll | FileCheck --check-prefix=DISASM %s55DISASM:      0000000180001000 <.text>:56DISASM-NEXT: 180001000: 52800060     mov     w0, #0x3                // =357DISASM-NEXT: 180001004: d65f03c0     ret58DISASM-NEXT: 180001008: b0000030     adrp    x16, 0x18000600059DISASM-NEXT: 18000100c: f9404610     ldr     x16, [x16, #0x88]60DISASM-NEXT: 180001010: d61f0200     br      x1661DISASM-NEXT: 180001014: b0000031     adrp    x17, 0x18000600062DISASM-NEXT: 180001018: 91022231     add     x17, x17, #0x8863DISASM-NEXT: 18000101c: 14000001     b       0x180001020 <.text+0x20>64DISASM-NEXT: 180001020: a9b27bfd     stp     x29, x30, [sp, #-0xe0]!65DISASM-NEXT: 180001024: 910003fd     mov     x29, sp66DISASM-NEXT: 180001028: a90107e0     stp     x0, x1, [sp, #0x10]67DISASM-NEXT: 18000102c: a9020fe2     stp     x2, x3, [sp, #0x20]68DISASM-NEXT: 180001030: a90317e4     stp     x4, x5, [sp, #0x30]69DISASM-NEXT: 180001034: a9041fe6     stp     x6, x7, [sp, #0x40]70DISASM-NEXT: 180001038: f9002be8     str     x8,     [sp, #0x50]71DISASM-NEXT: 18000103c: ad0307e0     stp     q0, q1, [sp, #0x60]72DISASM-NEXT: 180001040: ad040fe2     stp     q2, q3, [sp, #0x80]73DISASM-NEXT: 180001044: ad0517e4     stp     q4, q5, [sp, #0xa0]74DISASM-NEXT: 180001048: ad061fe6     stp     q6, q7, [sp, #0xc0]75DISASM-NEXT: 18000104c: aa1103e1     mov     x1, x1776DISASM-NEXT: 180001050: f0000000     adrp    x0, 0x18000400077DISASM-NEXT: 180001054: 910d2000     add     x0, x0, #0x34878DISASM-NEXT: 180001058: 90000002     adrp    x2, 0x180001000 <.text>79DISASM-NEXT: 18000105c: 91000042     add     x2, x2, #0x080DISASM-NEXT: 180001060: d63f0040     blr     x281DISASM-NEXT: 180001064: aa0003f0     mov     x16, x082DISASM-NEXT: 180001068: ad461fe6     ldp     q6, q7, [sp, #0xc0]83DISASM-NEXT: 18000106c: ad4517e4     ldp     q4, q5, [sp, #0xa0]84DISASM-NEXT: 180001070: ad440fe2     ldp     q2, q3, [sp, #0x80]85DISASM-NEXT: 180001074: ad4307e0     ldp     q0, q1, [sp, #0x60]86DISASM-NEXT: 180001078: f9402be8     ldr     x8,     [sp, #0x50]87DISASM-NEXT: 18000107c: a9441fe6     ldp     x6, x7, [sp, #0x40]88DISASM-NEXT: 180001080: a94317e4     ldp     x4, x5, [sp, #0x30]89DISASM-NEXT: 180001084: a9420fe2     ldp     x2, x3, [sp, #0x20]90DISASM-NEXT: 180001088: a94107e0     ldp     x0, x1, [sp, #0x10]91DISASM-NEXT: 18000108c: a8ce7bfd     ldp     x29, x30, [sp], #0xe092DISASM-NEXT: 180001090: d61f0200     br      x1693DISASM-NEXT:                 ...94DISASM-NEXT: 180002000: 52800040     mov     w0, #0x2                // =295DISASM-NEXT: 180002004: d65f03c0     ret96DISASM-NEXT: 180002008: 52800060     mov     w0, #0x3                // =397DISASM-NEXT: 18000200c: d65f03c0     ret98DISASM-NEXT: 180002010: f0000010     adrp    x16, 0x18000500099DISASM-NEXT: 180002014: f9400a10     ldr     x16, [x16, #0x10]100DISASM-NEXT: 180002018: d61f0200     br      x16101DISASM-NEXT: 18000201c: 9000002b     adrp    x11, 0x180006000102DISASM-NEXT: 180002020: f9404d6b     ldr     x11, [x11, #0x98]103DISASM-NEXT: 180002024: 9000000a     adrp    x10, 0x180002000 <.text+0x1000>104DISASM-NEXT: 180002028: 9100c14a     add     x10, x10, #0x30105DISASM-NEXT: 18000202c: 17fffff5     b       0x180002000 <.text+0x1000>106DISASM-NEXT: 180002030: 52800080     mov     w0, #0x4                // =4107DISASM-NEXT: 180002034: d65f03c0     ret108DISASM-NEXT:                 ...109DISASM-NEXT: 180003000: ff 25 92 30 00 00            jmpq    *0x3092(%rip)           # 0x180006098110DISASM-NEXT: 180003006: 48 8d 05 8b 30 00 00         leaq    0x308b(%rip), %rax      # 0x180006098111DISASM-NEXT: 18000300d: e9 00 00 00 00               jmp     0x180003012 <.text+0x2012>112DISASM-NEXT: 180003012: 48 89 4c 24 08               movq    %rcx, 0x8(%rsp)113DISASM-NEXT: 180003017: 48 89 54 24 10               movq    %rdx, 0x10(%rsp)114DISASM-NEXT: 18000301c: 4c 89 44 24 18               movq    %r8, 0x18(%rsp)115DISASM-NEXT: 180003021: 4c 89 4c 24 20               movq    %r9, 0x20(%rsp)116DISASM-NEXT: 180003026: 48 83 ec 68                  subq    $0x68, %rsp117DISASM-NEXT: 18000302a: 66 0f 7f 44 24 20            movdqa  %xmm0, 0x20(%rsp)118DISASM-NEXT: 180003030: 66 0f 7f 4c 24 30            movdqa  %xmm1, 0x30(%rsp)119DISASM-NEXT: 180003036: 66 0f 7f 54 24 40            movdqa  %xmm2, 0x40(%rsp)120DISASM-NEXT: 18000303c: 66 0f 7f 5c 24 50            movdqa  %xmm3, 0x50(%rsp)121DISASM-NEXT: 180003042: 48 8b d0                     movq    %rax, %rdx122DISASM-NEXT: 180003045: 48 8d 0d fc 12 00 00         leaq    0x12fc(%rip), %rcx      # 0x180004348123DISASM-NEXT: 18000304c: e8 b7 ef ff ff               callq   0x180002008 <.text+0x1008>124DISASM-NEXT: 180003051: 66 0f 6f 44 24 20            movdqa  0x20(%rsp), %xmm0125DISASM-NEXT: 180003057: 66 0f 6f 4c 24 30            movdqa  0x30(%rsp), %xmm1126DISASM-NEXT: 18000305d: 66 0f 6f 54 24 40            movdqa  0x40(%rsp), %xmm2127DISASM-NEXT: 180003063: 66 0f 6f 5c 24 50            movdqa  0x50(%rsp), %xmm3128DISASM-NEXT: 180003069: 48 8b 4c 24 70               movq    0x70(%rsp), %rcx129DISASM-NEXT: 18000306e: 48 8b 54 24 78               movq    0x78(%rsp), %rdx130DISASM-NEXT: 180003073: 4c 8b 84 24 80 00 00 00      movq    0x80(%rsp), %r8131DISASM-NEXT: 18000307b: 4c 8b 8c 24 88 00 00 00      movq    0x88(%rsp), %r9132DISASM-NEXT: 180003083: 48 83 c4 68                  addq    $0x68, %rsp133DISASM-NEXT: 180003087: ff e0                        jmpq    *%rax134 135RUN: llvm-readobj --coff-load-config out.dll | FileCheck --check-prefix=LOADCFG %s136LOADCFG:      AuxiliaryDelayloadIAT: 0x5000137LOADCFG-NEXT: AuxiliaryDelayloadIATCopy: 0x4140138 139RUN: llvm-readobj --hex-dump=.rdata out.dll | FileCheck --check-prefix=AUXIAT %s140AUXIAT:      0x180005000 00000000 00000000 00000000 00000000141AUXIAT-NEXT: 0x180005010 1c200080 01000000 00000000 00000000142 143 144# Test delayed-load import from native code only.145 146RUN: lld-link -machine:arm64x -dll -noentry -out:out-native.dll loadconfig-arm64.obj loadconfig-arm64ec.obj \147RUN:          arm64-helper.obj arm64ec-helper.obj test-arm64.obj test-arm64.lib test-arm64ec.lib -delayload:test.dll148 149RUN: llvm-readobj --coff-imports out-native.dll | FileCheck --check-prefix=NATIVE-IMPORTS %s150NATIVE-IMPORTS:      DelayImport {151NATIVE-IMPORTS-NEXT:   Name: test.dll152NATIVE-IMPORTS-NEXT:   Attributes: 0x1153NATIVE-IMPORTS-NEXT:   ModuleHandle: 0x5080154NATIVE-IMPORTS-NEXT:   ImportAddressTable: 0x5088155NATIVE-IMPORTS-NEXT:   ImportNameTable: 0x3370156NATIVE-IMPORTS-NEXT:   BoundDelayImportTable: 0x0157NATIVE-IMPORTS-NEXT:   UnloadDelayImportTable: 0x0158NATIVE-IMPORTS-NEXT:   Import {159NATIVE-IMPORTS-NEXT:     Symbol: func (0)160NATIVE-IMPORTS-NEXT:     Address: 0x180001014161NATIVE-IMPORTS-NEXT:   }162NATIVE-IMPORTS-NEXT: }163NATIVE-IMPORTS-NEXT: HybridObject {164NATIVE-IMPORTS-NEXT:   Format: COFF-ARM64EC165NATIVE-IMPORTS-NEXT:   Arch: aarch64166NATIVE-IMPORTS-NEXT:   AddressSize: 64bit167NATIVE-IMPORTS-NEXT:   DelayImport {168NATIVE-IMPORTS-NEXT:     Name: test.dll169NATIVE-IMPORTS-NEXT:     Attributes: 0x1170NATIVE-IMPORTS-NEXT:     ModuleHandle: 0x5080171NATIVE-IMPORTS-NEXT:     ImportAddressTable: 0x5098172NATIVE-IMPORTS-NEXT:     ImportNameTable: 0x3380173NATIVE-IMPORTS-NEXT:     BoundDelayImportTable: 0x0174NATIVE-IMPORTS-NEXT:     UnloadDelayImportTable: 0x0175NATIVE-IMPORTS-NEXT:   }176NATIVE-IMPORTS-NEXT: }177 178RUN: llvm-readobj --hex-dump=.testa out-native.dll | FileCheck --check-prefix=NATIVE-TESTSECA %s179NATIVE-TESTSECA: 0x180007000 88500000 08100000180 181RUN: llvm-objdump -d out-native.dll | FileCheck --check-prefix=NATIVE-DISASM %s182NATIVE-DISASM:      0000000180001000 <.text>:183NATIVE-DISASM-NEXT: 180001000: 52800060     mov     w0, #0x3                // =3184NATIVE-DISASM-NEXT: 180001004: d65f03c0     ret185NATIVE-DISASM-NEXT: 180001008: 90000030     adrp    x16, 0x180005000186NATIVE-DISASM-NEXT: 18000100c: f9404610     ldr     x16, [x16, #0x88]187NATIVE-DISASM-NEXT: 180001010: d61f0200     br      x16188NATIVE-DISASM-NEXT: 180001014: 90000031     adrp    x17, 0x180005000189NATIVE-DISASM-NEXT: 180001018: 91022231     add     x17, x17, #0x88190NATIVE-DISASM-NEXT: 18000101c: 14000001     b       0x180001020 <.text+0x20>191NATIVE-DISASM-NEXT: 180001020: a9b27bfd     stp     x29, x30, [sp, #-0xe0]!192NATIVE-DISASM-NEXT: 180001024: 910003fd     mov     x29, sp193NATIVE-DISASM-NEXT: 180001028: a90107e0     stp     x0, x1, [sp, #0x10]194NATIVE-DISASM-NEXT: 18000102c: a9020fe2     stp     x2, x3, [sp, #0x20]195NATIVE-DISASM-NEXT: 180001030: a90317e4     stp     x4, x5, [sp, #0x30]196NATIVE-DISASM-NEXT: 180001034: a9041fe6     stp     x6, x7, [sp, #0x40]197NATIVE-DISASM-NEXT: 180001038: f9002be8     str     x8,     [sp, #0x50]198NATIVE-DISASM-NEXT: 18000103c: ad0307e0     stp     q0, q1, [sp, #0x60]199NATIVE-DISASM-NEXT: 180001040: ad040fe2     stp     q2, q3, [sp, #0x80]200NATIVE-DISASM-NEXT: 180001044: ad0517e4     stp     q4, q5, [sp, #0xa0]201NATIVE-DISASM-NEXT: 180001048: ad061fe6     stp     q6, q7, [sp, #0xc0]202NATIVE-DISASM-NEXT: 18000104c: aa1103e1     mov     x1, x17203NATIVE-DISASM-NEXT: 180001050: d0000000     adrp    x0, 0x180003000204NATIVE-DISASM-NEXT: 180001054: 910cc000     add     x0, x0, #0x330205NATIVE-DISASM-NEXT: 180001058: 90000002     adrp    x2, 0x180001000 <.text>206NATIVE-DISASM-NEXT: 18000105c: 91000042     add     x2, x2, #0x0207NATIVE-DISASM-NEXT: 180001060: d63f0040     blr     x2208NATIVE-DISASM-NEXT: 180001064: aa0003f0     mov     x16, x0209NATIVE-DISASM-NEXT: 180001068: ad461fe6     ldp     q6, q7, [sp, #0xc0]210NATIVE-DISASM-NEXT: 18000106c: ad4517e4     ldp     q4, q5, [sp, #0xa0]211NATIVE-DISASM-NEXT: 180001070: ad440fe2     ldp     q2, q3, [sp, #0x80]212NATIVE-DISASM-NEXT: 180001074: ad4307e0     ldp     q0, q1, [sp, #0x60]213NATIVE-DISASM-NEXT: 180001078: f9402be8     ldr     x8,     [sp, #0x50]214NATIVE-DISASM-NEXT: 18000107c: a9441fe6     ldp     x6, x7, [sp, #0x40]215NATIVE-DISASM-NEXT: 180001080: a94317e4     ldp     x4, x5, [sp, #0x30]216NATIVE-DISASM-NEXT: 180001084: a9420fe2     ldp     x2, x3, [sp, #0x20]217NATIVE-DISASM-NEXT: 180001088: a94107e0     ldp     x0, x1, [sp, #0x10]218NATIVE-DISASM-NEXT: 18000108c: a8ce7bfd     ldp     x29, x30, [sp], #0xe0219NATIVE-DISASM-NEXT: 180001090: d61f0200     br      x16220 221RUN: llvm-readobj --coff-load-config out-native.dll | FileCheck --check-prefix=NATIVE-LOADCFG %s222NATIVE-LOADCFG:      AuxiliaryDelayloadIAT: 0x4000223NATIVE-LOADCFG-NEXT: AuxiliaryDelayloadIATCopy: 0x3140224 225RUN: llvm-readobj --hex-dump=.rdata out-native.dll | FileCheck --check-prefix=NATIVE-AUXIAT %s226NATIVE-AUXIAT:      0x180004000 00000000 00000000 00000000 00000000227NATIVE-AUXIAT-NEXT: 0x180004010 00000000 00000000228 229 230# Test delayed-load import from EC code only.231 232RUN: lld-link -machine:arm64x -dll -noentry -out:out-ec.dll loadconfig-arm64.obj loadconfig-arm64ec.obj \233RUN:          arm64-helper.obj arm64ec-helper.obj test-arm64ec.obj test-arm64.lib test-arm64ec.lib -delayload:test.dll234 235RUN: llvm-readobj --coff-imports out-ec.dll | FileCheck --check-prefix=EC-IMPORTS %s236EC-IMPORTS:      DelayImport {237EC-IMPORTS-NEXT:   Name: test.dll238EC-IMPORTS-NEXT:   Attributes: 0x1239EC-IMPORTS-NEXT:   ModuleHandle: 0x6080240EC-IMPORTS-NEXT:   ImportAddressTable: 0x6088241EC-IMPORTS-NEXT:   ImportNameTable: 0x4380242EC-IMPORTS-NEXT:   BoundDelayImportTable: 0x0243EC-IMPORTS-NEXT:   UnloadDelayImportTable: 0x0244EC-IMPORTS-NEXT: }245EC-IMPORTS-NEXT: HybridObject {246EC-IMPORTS-NEXT:   Format: COFF-ARM64EC247EC-IMPORTS-NEXT:   Arch: aarch64248EC-IMPORTS-NEXT:   AddressSize: 64bit249EC-IMPORTS-NEXT:   DelayImport {250EC-IMPORTS-NEXT:     Name: test.dll251EC-IMPORTS-NEXT:     Attributes: 0x1252EC-IMPORTS-NEXT:     ModuleHandle: 0x6080253EC-IMPORTS-NEXT:     ImportAddressTable: 0x6090254EC-IMPORTS-NEXT:     ImportNameTable: 0x4388255EC-IMPORTS-NEXT:     BoundDelayImportTable: 0x0256EC-IMPORTS-NEXT:     UnloadDelayImportTable: 0x0257EC-IMPORTS-NEXT:     Import {258EC-IMPORTS-NEXT:       Symbol: func (0)259EC-IMPORTS-NEXT:       Address: 0x180003006260EC-IMPORTS-NEXT:     }261EC-IMPORTS-NEXT:   }262EC-IMPORTS-NEXT: }263 264RUN: llvm-readobj --hex-dump=.test out-ec.dll | FileCheck --check-prefix=EC-TESTSEC %s265EC-TESTSEC: 0x180009000 08500000 90600000 00300000 10200000266 267RUN: llvm-objdump -d out-ec.dll | FileCheck --check-prefix=EC-DISASM %s268EC-DISASM:      0000000180001000 <.text>:269EC-DISASM-NEXT: 180001000: 52800060     mov     w0, #0x3                // =3270EC-DISASM-NEXT: 180001004: d65f03c0     ret271EC-DISASM-NEXT:                 ...272EC-DISASM-NEXT: 180002000: 52800040     mov     w0, #0x2                // =2273EC-DISASM-NEXT: 180002004: d65f03c0     ret274EC-DISASM-NEXT: 180002008: 52800060     mov     w0, #0x3                // =3275EC-DISASM-NEXT: 18000200c: d65f03c0     ret276EC-DISASM-NEXT: 180002010: f0000010     adrp    x16, 0x180005000277EC-DISASM-NEXT: 180002014: f9400610     ldr     x16, [x16, #0x8]278EC-DISASM-NEXT: 180002018: d61f0200     br      x16279EC-DISASM-NEXT: 18000201c: 9000002b     adrp    x11, 0x180006000280EC-DISASM-NEXT: 180002020: f940496b     ldr     x11, [x11, #0x90]281EC-DISASM-NEXT: 180002024: 9000000a     adrp    x10, 0x180002000 <.text+0x1000>282EC-DISASM-NEXT: 180002028: 9100c14a     add     x10, x10, #0x30283EC-DISASM-NEXT: 18000202c: 17fffff5     b       0x180002000 <.text+0x1000>284EC-DISASM-NEXT: 180002030: 52800080     mov     w0, #0x4                // =4285EC-DISASM-NEXT: 180002034: d65f03c0     ret286EC-DISASM-NEXT:                 ...287EC-DISASM-NEXT: 180003000: ff 25 8a 30 00 00            jmpq    *0x308a(%rip)           # 0x180006090288EC-DISASM-NEXT: 180003006: 48 8d 05 83 30 00 00         leaq    0x3083(%rip), %rax      # 0x180006090289EC-DISASM-NEXT: 18000300d: e9 00 00 00 00               jmp     0x180003012 <.text+0x2012>290EC-DISASM-NEXT: 180003012: 48 89 4c 24 08               movq    %rcx, 0x8(%rsp)291EC-DISASM-NEXT: 180003017: 48 89 54 24 10               movq    %rdx, 0x10(%rsp)292EC-DISASM-NEXT: 18000301c: 4c 89 44 24 18               movq    %r8, 0x18(%rsp)293EC-DISASM-NEXT: 180003021: 4c 89 4c 24 20               movq    %r9, 0x20(%rsp)294EC-DISASM-NEXT: 180003026: 48 83 ec 68                  subq    $0x68, %rsp295EC-DISASM-NEXT: 18000302a: 66 0f 7f 44 24 20            movdqa  %xmm0, 0x20(%rsp)296EC-DISASM-NEXT: 180003030: 66 0f 7f 4c 24 30            movdqa  %xmm1, 0x30(%rsp)297EC-DISASM-NEXT: 180003036: 66 0f 7f 54 24 40            movdqa  %xmm2, 0x40(%rsp)298EC-DISASM-NEXT: 18000303c: 66 0f 7f 5c 24 50            movdqa  %xmm3, 0x50(%rsp)299EC-DISASM-NEXT: 180003042: 48 8b d0                     movq    %rax, %rdx300EC-DISASM-NEXT: 180003045: 48 8d 0d f4 12 00 00         leaq    0x12f4(%rip), %rcx      # 0x180004340301EC-DISASM-NEXT: 18000304c: e8 b7 ef ff ff               callq   0x180002008 <.text+0x1008>302EC-DISASM-NEXT: 180003051: 66 0f 6f 44 24 20            movdqa  0x20(%rsp), %xmm0303EC-DISASM-NEXT: 180003057: 66 0f 6f 4c 24 30            movdqa  0x30(%rsp), %xmm1304EC-DISASM-NEXT: 18000305d: 66 0f 6f 54 24 40            movdqa  0x40(%rsp), %xmm2305EC-DISASM-NEXT: 180003063: 66 0f 6f 5c 24 50            movdqa  0x50(%rsp), %xmm3306EC-DISASM-NEXT: 180003069: 48 8b 4c 24 70               movq    0x70(%rsp), %rcx307EC-DISASM-NEXT: 18000306e: 48 8b 54 24 78               movq    0x78(%rsp), %rdx308EC-DISASM-NEXT: 180003073: 4c 8b 84 24 80 00 00 00      movq    0x80(%rsp), %r8309EC-DISASM-NEXT: 18000307b: 4c 8b 8c 24 88 00 00 00      movq    0x88(%rsp), %r9310EC-DISASM-NEXT: 180003083: 48 83 c4 68                  addq    $0x68, %rsp311EC-DISASM-NEXT: 180003087: ff e0                        jmpq    *%rax312 313RUN: llvm-readobj --coff-load-config out-ec.dll | FileCheck --check-prefix=EC-LOADCFG %s314EC-LOADCFG:      AuxiliaryDelayloadIAT: 0x5000315EC-LOADCFG-NEXT: AuxiliaryDelayloadIATCopy: 0x4140316 317RUN: llvm-readobj --hex-dump=.rdata out-ec.dll | FileCheck --check-prefix=EC-AUXIAT %s318EC-AUXIAT:      0x180005000 00000000 00000000 1c200080 01000000319EC-AUXIAT-NEXT: 0x180005010 00000000 00000000320 321 322#--- test-arm64ec.s323    .section .test, "rd"324    .rva __imp_func325    .rva __imp_aux_func326    .rva func327    .rva "#func"328 329#--- test-arm64.s330    .section .testa, "rd"331    .rva __imp_func332    .rva func333 334#--- arm64ec-helper.s335    .section .text,"xr",discard,__icall_helper_arm64ec336    .globl __icall_helper_arm64ec337    .p2align 2, 0x0338__icall_helper_arm64ec:339    mov w0, #2340    ret341 342    .section .text,"xr",discard,"#__delayLoadHelper2"343    .globl "#__delayLoadHelper2"344    .p2align 2, 0x0345"#__delayLoadHelper2":346    mov w0, #3347    ret348 349    .section .hybmp$x, "yi"350    .symidx __imp_func351    .symidx func_exit_thunk352    .word 4353 354    .section .wowthk$aa,"xr",discard,func_exit_thunk355    .globl func_exit_thunk356func_exit_thunk:357    mov w0, #4358    ret359 360#--- arm64-helper.s361    .section .text,"xr",discard,__delayLoadHelper2362    .globl __delayLoadHelper2363    .p2align 2, 0x0364__delayLoadHelper2:365    mov w0, #3366    ret367 368#--- test.def369NAME test.dll370EXPORTS371    func372