1
0
mirror of https://github.com/RPCS3/llvm-mirror.git synced 2024-11-23 11:13:28 +01:00
llvm-mirror/test/MC/Hexagon/multiple-pc4.s
Brian Cain ededcfd109 [Hexagon] pX.new cannot be used with p3:0 as producer
Writes to p3:0 do not produce new values, we should bar any .new
consumer trying to use it as a producer.
2020-05-19 17:06:34 -05:00

18 lines
590 B
ArmAsm

# RUN: llvm-mc -arch=hexagon -filetype=asm %s 2>%t; FileCheck --implicit-check-not=error %s <%t
# Check that multiple changes to a predicate in a packet are caught.
{ p0 = cmp.eq (r0, r0); p3:0 = r0 }
# CHECK: rror: register {{.+}} modified more than once
{ p0 = cmp.eq (r0, r0); c4 = r0 }
# CHECK: rror: register {{.+}} modified more than once
p3:0 = r9
# CHECK-NOT: rror: register {{.+}} modified more than once
# Multiple writes to the same predicate register are permitted:
{ p0 = cmp.eq (r0, r0); p0 = and(p1, p2) }
# CHECK-NOT: rror: register {{.+}} modified more than once