mirror of
https://github.com/RPCSX/llvm.git
synced 2025-02-13 17:20:28 +00:00
![David Majnemer](/assets/img/avatar_default.png)
The MachineVerifier wants to check that the register operands of an instruction belong to the instruction's register class. RIP-relative control flow instructions violated this by referencing RIP. While this was fixed for SysV, it was never fixed for Win64. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@254315 91177308-0d34-0410-b5e6-96231b3b80d8
17 lines
336 B
LLVM
17 lines
336 B
LLVM
; RUN: llc < %s -verify-coalescing | FileCheck %s
|
|
target triple = "x86_64-pc-win32"
|
|
|
|
@fnptr = external global void ()*
|
|
|
|
define void @test1() {
|
|
entry:
|
|
%p = load void ()*, void ()** @fnptr
|
|
tail call void %p()
|
|
ret void
|
|
}
|
|
|
|
; CHECK-LABEL: test1{{$}}
|
|
; CHECK: .seh_proc test1{{$}}
|
|
; CHECK: rex64 jmpq *fnptr(%rip)
|
|
; CHECK: .seh_endproc
|