| Saleem Abdulrasool | 435f456 | 2014-01-10 04:38:40 +0000 | [diff] [blame] | 1 | @ RUN: llvm-mc -triple armv7-eabi -filetype asm -o - %s | FileCheck %s | 
| Saleem Abdulrasool | 2d48ede | 2014-01-11 23:03:48 +0000 | [diff] [blame] | 2 | @ RUN: llvm-mc -triple armv7-eabi -filetype obj -o - %s | llvm-readobj -r \ | 
|  | 3 | @ RUN:   | FileCheck -check-prefix CHECK-RELOCATIONS %s | 
| Saleem Abdulrasool | 435f456 | 2014-01-10 04:38:40 +0000 | [diff] [blame] | 4 |  | 
|  | 5 | .syntax unified | 
|  | 6 |  | 
|  | 7 | .type function,%function | 
|  | 8 | function: | 
|  | 9 | bx lr | 
|  | 10 |  | 
| Saleem Abdulrasool | 2d48ede | 2014-01-11 23:03:48 +0000 | [diff] [blame] | 11 | .global external | 
|  | 12 | .type external,%function | 
|  | 13 |  | 
| Saleem Abdulrasool | 435f456 | 2014-01-10 04:38:40 +0000 | [diff] [blame] | 14 | .set deadbeat, 0xdeadbea7 | 
|  | 15 |  | 
|  | 16 | .type test,%function | 
|  | 17 | test: | 
|  | 18 | movw r0, :lower16:function | 
|  | 19 | movt r0, :upper16:function | 
|  | 20 |  | 
|  | 21 | movw r1, #:lower16:function | 
|  | 22 | movt r1, #:upper16:function | 
|  | 23 |  | 
|  | 24 | movw r2, :lower16:deadbeat | 
|  | 25 | movt r2, :upper16:deadbeat | 
|  | 26 |  | 
|  | 27 | movw r3, #:lower16:deadbeat | 
|  | 28 | movt r3, #:upper16:deadbeat | 
|  | 29 |  | 
|  | 30 | movw r4, :lower16:0xD1510D6E | 
|  | 31 | movt r4, :upper16:0xD1510D6E | 
|  | 32 |  | 
|  | 33 | movw r5, #:lower16:0xD1510D6E | 
|  | 34 | movt r5, #:upper16:0xD1510D6E | 
|  | 35 |  | 
| Saleem Abdulrasool | 2d48ede | 2014-01-11 23:03:48 +0000 | [diff] [blame] | 36 | movw r0, :lower16:external | 
|  | 37 | movt r0, :upper16:external | 
|  | 38 |  | 
|  | 39 | movw r1, #:lower16:external | 
|  | 40 | movt r1, #:upper16:external | 
|  | 41 |  | 
|  | 42 | movw r2, #:lower16:(16 + 16) | 
|  | 43 | movt r2, #:upper16:(16 + 16) | 
|  | 44 |  | 
|  | 45 | movw r3, :lower16:(16 + 16) | 
|  | 46 | movt r3, :upper16:(16 + 16) | 
|  | 47 |  | 
| Saleem Abdulrasool | 435f456 | 2014-01-10 04:38:40 +0000 | [diff] [blame] | 48 | @ CHECK-LABEL: test: | 
|  | 49 | @ CHECK: 	movw r0, :lower16:function | 
|  | 50 | @ CHECK: 	movt r0, :upper16:function | 
|  | 51 | @ CHECK: 	movw r1, :lower16:function | 
|  | 52 | @ CHECK: 	movt r1, :upper16:function | 
|  | 53 | @ CHECK: 	movw r2, :lower16:(3735928487) | 
|  | 54 | @ CHECK: 	movt r2, :upper16:(3735928487) | 
|  | 55 | @ CHECK: 	movw r3, :lower16:(3735928487) | 
|  | 56 | @ CHECK: 	movt r3, :upper16:(3735928487) | 
|  | 57 | @ CHECK: 	movw r4, :lower16:(3511749998) | 
|  | 58 | @ CHECK: 	movt r4, :upper16:(3511749998) | 
|  | 59 | @ CHECK: 	movw r5, :lower16:(3511749998) | 
|  | 60 | @ CHECK: 	movt r5, :upper16:(3511749998) | 
| Saleem Abdulrasool | 2d48ede | 2014-01-11 23:03:48 +0000 | [diff] [blame] | 61 | @ CHECK: 	movw r0, :lower16:external | 
|  | 62 | @ CHECK: 	movt r0, :upper16:external | 
|  | 63 | @ CHECK: 	movw r1, :lower16:external | 
|  | 64 | @ CHECK: 	movt r1, :upper16:external | 
|  | 65 | @ CHECK: 	movw r2, :lower16:(32) | 
|  | 66 | @ CHECK: 	movt r2, :upper16:(32) | 
|  | 67 | @ CHECK: 	movw r3, :lower16:(32) | 
|  | 68 | @ CHECK: 	movt r3, :upper16:(32) | 
|  | 69 |  | 
|  | 70 | @ CHECK-RELOCATIONS: Relocations [ | 
|  | 71 | @ CHECK-RELOCATIONS:   0x4 R_ARM_MOVW_ABS_NC function 0x0 | 
|  | 72 | @ CHECK-RELOCATIONS:   0x8 R_ARM_MOVT_ABS function 0x0 | 
|  | 73 | @ CHECK-RELOCATIONS:   0xC R_ARM_MOVW_ABS_NC function 0x0 | 
|  | 74 | @ CHECK-RELOCATIONS:   0x10 R_ARM_MOVT_ABS function 0x0 | 
|  | 75 | @ CHECK-RELOCATIONS:   0x34 R_ARM_MOVW_ABS_NC external 0x0 | 
|  | 76 | @ CHECK-RELOCATIONS:   0x38 R_ARM_MOVT_ABS external 0x0 | 
|  | 77 | @ CHECK-RELOCATIONS:   0x3C R_ARM_MOVW_ABS_NC external 0x0 | 
|  | 78 | @ CHECK-RELOCATIONS:   0x40 R_ARM_MOVT_ABS external 0x0 | 
|  | 79 | @ CHECK-RELOCATIONS: ] | 
| Saleem Abdulrasool | 435f456 | 2014-01-10 04:38:40 +0000 | [diff] [blame] | 80 |  |