Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1042)

Unified Diff: tests_lit/assembler/arm32/mov-imm.ll

Issue 1418523002: Add hybrid assembler concept to ARM assembler. (Closed) Base URL: https://chromium.googlesource.com/native_client/pnacl-subzero.git@master
Patch Set: Fix nits. Created 5 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tests_lit/assembler/arm32/load-store.ll ('k') | tests_lit/assembler/arm32/ret.ll » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tests_lit/assembler/arm32/mov-imm.ll
diff --git a/tests_lit/assembler/arm32/mov-imm.ll b/tests_lit/assembler/arm32/mov-imm.ll
index df939f9a5de4d66c6ef2811214f1d76042783487..d7c97e3c8a2c358f4a1448975baff7b608a120f8 100644
--- a/tests_lit/assembler/arm32/mov-imm.ll
+++ b/tests_lit/assembler/arm32/mov-imm.ll
@@ -2,22 +2,37 @@
; REQUIRES: allow_dump
-; RUN: %p2i --filetype=asm -i %s --target=arm32 \
+; Compile using standalone assembler.
+; RUN: %p2i --filetype=asm -i %s --target=arm32 --args -O2 \
; RUN: | FileCheck %s --check-prefix=ASM
-; RUN: %p2i --filetype=iasm -i %s --target=arm32 \
+
+; Show bytes in assembled standalone code.
+; RUN: %p2i --filetype=asm -i %s --target=arm32 --assemble --disassemble \
+; RUN: --args -O2 | FileCheck %s --check-prefix=DIS
+
+; Compile using integrated assembler.
+; RUN: %p2i --filetype=iasm -i %s --target=arm32 --args -O2 \
; RUN: | FileCheck %s --check-prefix=IASM
+; Show bytes in assembled integrated code.
+; RUN: %p2i --filetype=iasm -i %s --target=arm32 --assemble --disassemble \
+; RUN: --args -O2 | FileCheck %s --check-prefix=DIS
+
define internal i32 @Imm1() {
ret i32 1
}
; ASM-LABEL: Imm1:
-; ASM: mov r0, #1
+; ASM: mov r0, #1
+
+; DIS-LABEL:00000000 <Imm1>:
+; DIS-NEXT: 0: e3a00001
+
; IASM-LABEL: Imm1:
-; IASM: .byte 0x1
-; IASM: .byte 0x0
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0x1
+; IASM: .byte 0x0
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotateFImmAA() {
@@ -26,13 +41,16 @@ define internal i32 @rotateFImmAA() {
}
; ASM-LABEL: rotateFImmAA:
-; ASM: mov r0, #680
+; ASM: mov r0, #680
+
+; DIS-LABEL:00000010 <rotateFImmAA>:
+; DIS-NEXT: 10: e3a00faa
; IASM-LABEL: rotateFImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0xf
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0xf
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotateEImmAA() {
; immediate = 0x00000aa0 = b 0000 0000 0000 0000 0000 1010 1010 0000
@@ -40,13 +58,16 @@ define internal i32 @rotateEImmAA() {
}
; ASM-LABEL: rotateEImmAA:
-; ASM: mov r0, #2720
+; ASM: mov r0, #2720
+
+; DIS-LABEL:00000020 <rotateEImmAA>:
+; DIS-NEXT: 20: e3a00eaa
; IASM-LABEL: rotateEImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0xe
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0xe
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotateDImmAA() {
; immediate = 0x00002a80 = b 0000 0000 0000 0000 0010 1010 1000 0000
@@ -54,13 +75,16 @@ define internal i32 @rotateDImmAA() {
}
; ASM-LABEL: rotateDImmAA:
-; ASM: mov r0, #10880
+; ASM: mov r0, #10880
+
+; DIS-LABEL:00000030 <rotateDImmAA>:
+; DIS-NEXT: 30: e3a00daa
; IASM-LABEL: rotateDImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0xd
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0xd
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotateCImmAA() {
; immediate = 0x0000aa00 = b 0000 0000 0000 0000 1010 1010 0000 0000
@@ -68,13 +92,16 @@ define internal i32 @rotateCImmAA() {
}
; ASM-LABEL: rotateCImmAA:
-; ASM: mov r0, #43520
+; ASM: mov r0, #43520
+
+; DIS-LABEL:00000040 <rotateCImmAA>:
+; DIS-NEXT: 40: e3a00caa
; IASM-LABEL: rotateCImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0xc
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0xc
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotateBImmAA() {
; immediate = 0x0002a800 = b 0000 0000 0000 0010 1010 1000 0000 0000
@@ -82,13 +109,16 @@ define internal i32 @rotateBImmAA() {
}
; ASM-LABEL: rotateBImmAA:
-; ASM: mov r0, #174080
+; ASM: mov r0, #174080
+
+; DIS-LABEL:00000050 <rotateBImmAA>:
+; DIS-NEXT: 50: e3a00baa
; IASM-LABEL: rotateBImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0xb
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0xb
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotateAImmAA() {
; immediate = 0x000aa000 = b 0000 0000 0000 1010 1010 0000 0000 0000
@@ -96,13 +126,16 @@ define internal i32 @rotateAImmAA() {
}
; ASM-LABEL: rotateAImmAA:
-; ASM: mov r0, #696320
+; ASM: mov r0, #696320
+
+; DIS-LABEL:00000060 <rotateAImmAA>:
+; DIS-NEXT: 60: e3a00aaa
; IASM-LABEL: rotateAImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0xa
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0xa
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate9ImmAA() {
; immediate = 0x002a8000 = b 0000 0000 0010 1010 1000 0000 0000 0000
@@ -110,13 +143,16 @@ define internal i32 @rotate9ImmAA() {
}
; ASM-LABEL: rotate9ImmAA:
-; ASM: mov r0, #2785280
+; ASM: mov r0, #2785280
+
+; DIS-LABEL:00000070 <rotate9ImmAA>:
+; DIS-NEXT: 70: e3a009aa
; IASM-LABEL: rotate9ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x9
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x9
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate8ImmAA() {
; immediate = 0x00aa0000 = b 0000 0000 1010 1010 0000 0000 0000 0000
@@ -124,13 +160,16 @@ define internal i32 @rotate8ImmAA() {
}
; ASM-LABEL: rotate8ImmAA:
-; ASM: mov r0, #11141120
+; ASM: mov r0, #11141120
+
+; DIS-LABEL:00000080 <rotate8ImmAA>:
+; DIS-NEXT: 80: e3a008aa
; IASM-LABEL: rotate8ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x8
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x8
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate7ImmAA() {
; immediate = 0x02a80000 = b 0000 0010 1010 1000 0000 0000 0000 0000
@@ -138,13 +177,16 @@ define internal i32 @rotate7ImmAA() {
}
; ASM-LABEL: rotate7ImmAA:
-; ASM: mov r0, #44564480
+; ASM: mov r0, #44564480
+
+; DIS-LABEL:00000090 <rotate7ImmAA>:
+; DIS-NEXT: 90: e3a007aa
; IASM-LABEL: rotate7ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x7
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x7
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate6ImmAA() {
; immediate = 0x0aa00000 = b 0000 1010 1010 0000 0000 0000 0000 0000
@@ -152,13 +194,16 @@ define internal i32 @rotate6ImmAA() {
}
; ASM-LABEL: rotate6ImmAA:
-; ASM: mov r0, #178257920
+; ASM: mov r0, #178257920
+
+; DIS-LABEL:000000a0 <rotate6ImmAA>:
+; DIS-NEXT: a0: e3a006aa
; IASM-LABEL: rotate6ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x6
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x6
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate5ImmAA() {
; immediate = 0x2a800000 = b 0010 1010 1000 0000 0000 0000 0000 0000
@@ -166,13 +211,16 @@ define internal i32 @rotate5ImmAA() {
}
; ASM-LABEL: rotate5ImmAA:
-; ASM: mov r0, #713031680
+; ASM: mov r0, #713031680
+
+; DIS-LABEL:000000b0 <rotate5ImmAA>:
+; DIS-NEXT: b0: e3a005aa
; IASM-LABEL: rotate5ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x5
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x5
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate4ImmAA() {
; immediate = 0xaa000000 = b 1010 1010 0000 0000 0000 0000 0000 0000
@@ -180,13 +228,16 @@ define internal i32 @rotate4ImmAA() {
}
; ASM-LABEL: rotate4ImmAA:
-; ASM: mov r0, #2852126720
+; ASM: mov r0, #2852126720
+
+; DIS-LABEL:000000c0 <rotate4ImmAA>:
+; DIS-NEXT: c0: e3a004aa
; IASM-LABEL: rotate4ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x4
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x4
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate3ImmAA() {
; immediate = 0xa8000002 = b 1010 1000 0000 0000 0000 0000 0000 0010
@@ -194,13 +245,16 @@ define internal i32 @rotate3ImmAA() {
}
; ASM-LABEL: rotate3ImmAA:
-; ASM: mov r0, #2818572290
+; ASM: mov r0, #2818572290
+
+; DIS-LABEL:000000d0 <rotate3ImmAA>:
+; DIS-NEXT: d0: e3a003aa
; IASM-LABEL: rotate3ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x3
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x3
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate2ImmAA() {
; immediate = 0xa000000a = b 1010 0000 0000 0000 0000 0000 0000 1010
@@ -208,13 +262,16 @@ define internal i32 @rotate2ImmAA() {
}
; ASM-LABEL: rotate2ImmAA:
-; ASM: mov r0, #2684354570
+; ASM: mov r0, #2684354570
+
+; DIS-LABEL:000000e0 <rotate2ImmAA>:
+; DIS-NEXT: e0: e3a002aa
; IASM-LABEL: rotate2ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x2
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x2
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate1ImmAA() {
; immediate = 0x8000002a = b 1000 1000 0000 0000 0000 0000 0010 1010
@@ -222,13 +279,16 @@ define internal i32 @rotate1ImmAA() {
}
; ASM-LABEL: rotate1ImmAA:
-; ASM: mov r0, #2147483690
+; ASM: mov r0, #2147483690
+
+; DIS-LABEL:000000f0 <rotate1ImmAA>:
+; DIS-NEXT: f0: e3a001aa
; IASM-LABEL: rotate1ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x1
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x1
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
define internal i32 @rotate0ImmAA() {
; immediate = 0x000000aa = b 0000 0000 0000 0000 0000 0000 1010 1010
@@ -236,10 +296,13 @@ define internal i32 @rotate0ImmAA() {
}
; ASM-LABEL: rotate0ImmAA:
-; ASM: mov r0, #170
+; ASM: mov r0, #170
+
+; DIS-LABEL:00000100 <rotate0ImmAA>:
+; DIS-NEXT: 100: e3a000aa
; IASM-LABEL: rotate0ImmAA:
-; IASM: .byte 0xaa
-; IASM: .byte 0x0
-; IASM: .byte 0xa0
-; IASM: .byte 0xe3
+; IASM: .byte 0xaa
+; IASM: .byte 0x0
+; IASM: .byte 0xa0
+; IASM: .byte 0xe3
« no previous file with comments | « tests_lit/assembler/arm32/load-store.ll ('k') | tests_lit/assembler/arm32/ret.ll » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698