2019-07-24 06:05:13 +08:00
|
|
|
# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py
|
|
|
|
# RUN: llc -mtriple=aarch64-unknown-unknown -verify-machineinstrs -O0 -run-pass=regbankselect %s -o - | FileCheck %s
|
|
|
|
---
|
|
|
|
name: extract_s64_s128
|
[Alignment] Use llvm::Align in MachineFunction and TargetLowering - fixes mir parsing
Summary:
This catches malformed mir files which specify alignment as log2 instead of pow2.
See https://reviews.llvm.org/D65945 for reference,
This is patch is part of a series to introduce an Alignment type.
See this thread for context: http://lists.llvm.org/pipermail/llvm-dev/2019-July/133851.html
See this patch for the introduction of the type: https://reviews.llvm.org/D64790
Reviewers: courbet
Subscribers: MatzeB, qcolombet, dschuff, arsenm, sdardis, nemanjai, jvesely, nhaehnle, hiraditya, kbarton, asb, rbar, johnrusso, simoncook, apazos, sabuasal, niosHD, jrtc27, MaskRay, zzheng, edward-jones, atanasyan, rogfer01, MartinMosbeck, brucehoult, the_o, PkmX, jocewei, jsji, Petar.Avramovic, asbirlea, s.egerton, pzheng, llvm-commits
Tags: #llvm
Differential Revision: https://reviews.llvm.org/D67433
llvm-svn: 371608
2019-09-11 19:16:48 +08:00
|
|
|
alignment: 4
|
2019-07-24 06:05:13 +08:00
|
|
|
legalized: true
|
|
|
|
tracksRegLiveness: true
|
|
|
|
body: |
|
|
|
|
bb.1:
|
|
|
|
liveins: $q0
|
|
|
|
|
|
|
|
; CHECK-LABEL: name: extract_s64_s128
|
|
|
|
; CHECK: liveins: $q0
|
|
|
|
; CHECK: [[COPY:%[0-9]+]]:fpr(s128) = COPY $q0
|
|
|
|
; CHECK: [[EXTRACT:%[0-9]+]]:fpr(s64) = G_EXTRACT [[COPY]](s128), 0
|
|
|
|
; CHECK: $d2 = COPY [[EXTRACT]](s64)
|
|
|
|
; CHECK: RET_ReallyLR implicit $d2
|
|
|
|
%0:_(s128) = COPY $q0
|
|
|
|
%1:_(s64) = G_EXTRACT %0(s128), 0
|
|
|
|
$d2 = COPY %1(s64)
|
|
|
|
RET_ReallyLR implicit $d2
|
|
|
|
|
|
|
|
...
|