mirror of
https://github.com/RPCSX/llvm.git
synced 2025-03-02 09:58:06 +00:00

From the point of view of register assignment, byval parameters are ignored: a byval parameter is not going to be assigned to a register, and it will not affect the assignments of subsequent parameters. When matching registers with parameters in the bit tracker, make sure to skip byval parameters before advancing the registers. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@278375 91177308-0d34-0410-b5e6-96231b3b80d8
12 lines
239 B
LLVM
12 lines
239 B
LLVM
; RUN: llc -march=hexagon < %s | FileCheck %s
|
|
;
|
|
; Either and or zxtb.
|
|
; CHECK: r0 = and(r1, #255)
|
|
|
|
%struct.t0 = type { i32 }
|
|
|
|
define i32 @foo(%struct.t0* byval align 8 %s, i8 zeroext %t, i8 %u) #0 {
|
|
%a = zext i8 %u to i32
|
|
ret i32 %a
|
|
}
|