brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.1 KiB · 58e49b6 Raw
136 lines · plain
1# RUN: llvm-mc -triple=hexagon -filetype=obj %s | llvm-objdump --no-print-imm-hex -d - | FileCheck %s2#3 4# In packets with two extensions assembler is not extending both instructions5#6 7//['D_DUMMY,C4_or_or,L4_ploadrbtnew_abs,S2_storerfgp']8{9        if (p3) r23 = memb(##2164335510)10        memh(##1696682668) = r28.h11}12# CHECK: { immext(#2164335488)13# CHECK:   if (p3) r23 = memb(##2164335510)14# CHECK:   immext(#1696682624)15# CHECK:   memh(##1696682668) = r28.h }16 17//['D_DUMMY,C4_or_or,L4_ploadrbtnew_abs,S2_storerfgp']18{19        if (p3.new) r23 = memb(##2164335510)20        p3 = or(p2,or(p3, p0))21}22# CHECK: { p3 = or(p2,or(p3,p0))23# CHECK:   immext(#2164335488)24# CHECK:   if (p3.new) r23 = memb(##2164335510) }25 26 27# -------------------------- Non-extended cases:28# -------------------------- Use GP and non GP notation29 30R2 = memb(gp+#0x1000)31# CHECK: { r2 = memb(gp+#4096) }32 33R3 = memh(gp+#0x1000)34# CHECK: { r3 = memh(gp+#4096) }35 36r4 = memub(gp+#0x1000)37# CHECK: { r4 = memub(gp+#4096) }38 39r5 = memuh(gp+#0x1000)40# CHECK: { r5 = memuh(gp+#4096) }41 42r6 = memw(gp+#0x1000)43# CHECK: { r6 = memw(gp+#4096) }44 45R1:0 = memd(gp+#0x1000)46# CHECK: { r1:0 = memd(gp+#4096) }47 48{R25 = #1; memb(gp+#0x1000) = R25.new}49# CHECK: { r25 = #150# CHECK-NEXT: memb(gp+#4096) = r25.new }51 52{R26 = #1; memh(gp+#0x1000) = R26.new}53# CHECK: { r26 = #154# CHECK-NEXT: memh(gp+#4096) = r26.new }55 56{R27 = #1; memw(gp+#0x1000) = R27.new}57# CHECK: { r27 = #158# CHECK-NEXT: memw(gp+#4096) = r27.new }59 60memd(gp+#0x1000) = R1:061# CHECK: { memd(gp+#4096) = r1:0 }62 63memb(gp+#0x1000) = R264# CHECK: { memb(gp+#4096) = r2 }65 66memh(gp+#0x1000) = r3.h67# CHECK: { memh(gp+#4096) = r3.h }68 69memh(gp+#0x1000) = R470# CHECK: { memh(gp+#4096) = r4 }71 72memw(gp+#0x1000) = R573# CHECK: { memw(gp+#4096) = r5 }74 75# -------------------------- Extended cases:76# -------------------------- Use GP and non GP notation77 78R11:10 = memd(##0x1000)79# CHECK: { immext(#4096)80# CHECK-NEXT: r11:10 = memd(##4096) }81 82R11 = memb(##0x1000)83# CHECK: { immext(#4096)84# CHECK-NEXT: r11 = memb(##4096) }85 86R12 = memh(##0x1000)87# CHECK: { immext(#4096)88# CHECK-NEXT: r12 = memh(##4096) }89 90r13 = memub(##0x1000)91# CHECK: { immext(#4096)92# CHECK-NEXT: r13 = memub(##4096) }93 94r14 = memuh(##0x1000)95# CHECK: { immext(#4096)96# CHECK-NEXT: r14 = memuh(##4096) }97 98r15 = memw(##0x1000)99# CHECK: { immext(#4096)100# CHECK-NEXT: r15 = memw(##4096) }101 102{R22 = #1; memb(##0x1000) = R22.new}103# CHECK: { r22 = #1104# CHECK-NEXT: immext(#4096)105# CHECK-NEXT: memb(##4096) = r22.new }106 107{R23 = #1; memh(##0x1000) = R23.new}108# CHECK: { r23 = #1109# CHECK-NEXT: immext(#4096)110# CHECK-NEXT: memh(##4096) = r23.new }111 112{R24 = #1; memw(##0x1000) = R24.new}113# CHECK: { r24 = #1114# CHECK-NEXT: immext(#4096)115# CHECK-NEXT: memw(##4096) = r24.new }116 117memd(##0x1000) = R17:16118# CHECK: { immext(#4096)119# CHECK-NEXT: memd(##4096) = r17:16 }120 121memb(##0x1000) = R18122# CHECK: { immext(#4096)123# CHECK-NEXT: memb(##4096) = r18 }124 125memh(##0x1000) = r19.h126# CHECK: { immext(#4096)127# CHECK-NEXT: memh(##4096) = r19.h }128 129memh(##0x1000) = R20130# CHECK: { immext(#4096)131# CHECK-NEXT: memh(##4096) = r20 }132 133memw(##0x1000) = R21134# CHECK: { immext(#4096)135# CHECK-NEXT: memw(##4096) = r21 }136