85 lines · plain
1# RUN: llvm-mc -triple hexagon -disassemble < %s | FileCheck %s2# Hexagon Programmer's Reference Manual 11.1.1 ALU32/ALU3 4# Add50xf1 0xc3 0x15 0xb06# CHECK: r17 = add(r21,#31)70x11 0xdf 0x15 0xf38# CHECK: r17 = add(r21,r31)90x11 0xdf 0x55 0xf610# CHECK: r17 = add(r21,r31):sat11 12# And130xf1 0xc3 0x15 0x7614# CHECK: r17 = and(r21,#31)150xf1 0xc3 0x95 0x7616# CHECK: r17 = or(r21,#31)170x11 0xdf 0x15 0xf118# CHECK: r17 = and(r21,r31)190x11 0xdf 0x35 0xf120# CHECK: r17 = or(r21,r31)210x11 0xdf 0x75 0xf122# CHECK: r17 = xor(r21,r31)230x11 0xd5 0x9f 0xf124# CHECK: r17 = and(r21,~r31)250x11 0xd5 0xbf 0xf126# CHECK: r17 = or(r21,~r31)27 28# Nop290x00 0xc0 0x00 0x7f30# CHECK: nop31 32# Subtract330xb1 0xc2 0x5f 0x7634# CHECK: r17 = sub(#21,r31)350x11 0xdf 0x35 0xf336# CHECK: r17 = sub(r31,r21)370x11 0xdf 0xd5 0xf638# CHECK: r17 = sub(r31,r21):sat39 40# Sign extend410x11 0xc0 0xbf 0x7042# CHECK: r17 = sxtb(r31)43 44# Transfer immediate450x15 0xc0 0x31 0x7246# CHECK: r17.h = #21470x15 0xc0 0x31 0x7148# CHECK: r17.l = #21490xf1 0xff 0x5f 0x7850# CHECK: r17 = #32767510xf1 0xff 0xdf 0x7852# CHECK: r17 = #-153 54# Transfer register550x11 0xc0 0x75 0x7056# CHECK: r17 = r2157 58# Vector add halfwords590x11 0xdf 0x15 0xf660# CHECK: r17 = vaddh(r21,r31)610x11 0xdf 0x35 0xf662# CHECK: r17 = vaddh(r21,r31):sat630x11 0xdf 0x75 0xf664# CHECK: r17 = vadduh(r21,r31):sat65 66# Vector average halfwords670x11 0xdf 0x15 0xf768# CHECK: r17 = vavgh(r21,r31)690x11 0xdf 0x35 0xf770# CHECK: r17 = vavgh(r21,r31):rnd710x11 0xdf 0x75 0xf772# CHECK: r17 = vnavgh(r31,r21)73 74# Vector subtract halfwords750x11 0xdf 0x95 0xf676# CHECK: r17 = vsubh(r31,r21)770x11 0xdf 0xb5 0xf678# CHECK: r17 = vsubh(r31,r21):sat790x11 0xdf 0xf5 0xf680# CHECK: r17 = vsubuh(r31,r21):sat81 82# Zero extend830x11 0xc0 0xd5 0x7084# CHECK: r17 = zxth(r21)85