72 lines · plain
1# NOTE: Assertions have been autogenerated by utils/update_mir_test_checks.py2# RUN: llc -mtriple=x86_64-- -mattr=+avx512f -o - %s -run-pass=postrapseudos -verify-machineinstrs | FileCheck %s3 4# Test that we emit VPXORD with ZMM registers instead of YMM5# registers when we do not have VLX.6 7--- |8 ; ModuleID = 'test.ll'9 source_filename = "test.ll"10 target datalayout = "e-m:e-i64:64-f80:128-n8:16:32:64-S128"11 target triple = "x86_64-unknown-linux-gnu"12 13 @tst_ = common global [4 x i64] zeroinitializer, align 6414 15 define void @main() #0 {16 bb0:17 %gep1 = bitcast ptr @tst_ to ptr18 %lsr.iv1 = bitcast ptr %gep1 to ptr19 store <4 x i64> zeroinitializer, ptr %lsr.iv1, align 1620 ret void21 }22 23 attributes #0 = { "target-features"="+avx512f" }24 25...26---27name: main28alignment: 1629exposesReturnsTwice: false30legalized: false31regBankSelected: false32selected: false33failedISel: false34tracksRegLiveness: true35hasWinCFI: false36registers: []37liveins: []38frameInfo:39 isFrameAddressTaken: false40 isReturnAddressTaken: false41 hasStackMap: false42 hasPatchPoint: false43 stackSize: 044 offsetAdjustment: 045 maxAlignment: 046 adjustsStack: false47 hasCalls: false48 stackProtector: ''49 maxCallFrameSize: 050 cvBytesOfCalleeSavedRegisters: 051 hasOpaqueSPAdjustment: false52 hasVAStart: false53 hasMustTailInVarArgFunc: false54 localFrameSize: 055 savePoint: []56 restorePoint: []57fixedStack: []58stack: []59constants: []60machineFunctionInfo: {}61body: |62 bb.0.bb0:63 ; CHECK-LABEL: name: main64 ; CHECK: $zmm16 = VPXORDZrr undef $zmm16, undef $zmm1665 ; CHECK: VMOVAPSZmr $rip, 1, $noreg, @tst_, $noreg, killed renamable $zmm16 :: (store (s256) into %ir.lsr.iv1, align 64)66 ; CHECK: RET 067 renamable $ymm16 = AVX512_256_SET068 VMOVAPSZmr $rip, 1, $noreg, @tst_, $noreg, killed renamable $zmm16 :: (store (s256) into %ir.lsr.iv1, align 64)69 RET 070 71...72