This is the last part of D116531. Fetch the type of the indirect inline asm operand from the elementtype attribute, rather than the pointer element type. Fixes https://github.com/llvm/llvm-project/issues/52928.
15 lines
461 B
LLVM
15 lines
461 B
LLVM
; NOTE: Assertions have been autogenerated by utils/update_llc_test_checks.py
|
|
; RUN: llc -mtriple=x86_64-linux -opaque-pointers < %s | FileCheck %s
|
|
|
|
define void @okay(ptr %p, i32 %x) nounwind {
|
|
; CHECK-LABEL: okay:
|
|
; CHECK: # %bb.0:
|
|
; CHECK-NEXT: #APP
|
|
; CHECK-NEXT: addl %esi, %eax
|
|
; CHECK-NEXT: #NO_APP
|
|
; CHECK-NEXT: movl %eax, (%rdi)
|
|
; CHECK-NEXT: retq
|
|
call void asm "addl $1, $0", "=*r,r"(ptr elementtype(i32) %p, i32 %x)
|
|
ret void
|
|
}
|