1 # RUN: llvm-mc -triple hexagon -filetype=obj %s -o - | llvm-objdump -d - | FileCheck %s
2 # Hexagon Programmer's Reference Manual 11.1.2 ALU32/PERM
4 # Combine words in to doublewords
6 r17 = combine
(r31.h
, r21.h
)
8 r17 = combine
(r31.h
, r21.
l)
10 r17 = combine
(r31.
l, r21.h
)
12 r17 = combine
(r31.
l, r21.
l)
14 r17:16 = combine
(#21, #31)
16 r17:16 = combine
(#21, r31)
18 r17:16 = combine
(r21, #31)
20 r17:16 = combine
(r21, r31)
24 r17 = mux
(p3
, r21, #31)
26 r17 = mux
(p3
, #21, r31)
28 r17 = mux
(p3
, #21, #31)
30 r17 = mux
(p3
, r21, r31)
38 # Pack high and low halfwords
40 r17:16 = packhl
(r21, r31)