Index: fixup-bw-inst.ll =================================================================== --- fixup-bw-inst.ll +++ fixup-bw-inst.ll @@ -1,4 +1,7 @@ -; RUN: llc -fixup-byte-word-insts -march=x86-64 < %s | FileCheck %s +; RUN: llc -fixup-byte-word-insts=1 -march=x86-64 < %s | \ +; RUN: FileCheck -check-prefix CHECK -check-prefix BWON %s +; RUN: llc -fixup-byte-word-insts=0 -march=x86-64 < %s | \ +; RUN: FileCheck -check-prefix CHECK -check-prefix BWOFF %s target datalayout = "e-p:64:64:64-i1:8:8-i8:8:8-i16:16:16-i32:32:32-i64:64:64-f32:32:32-f64:64:64-v64:64:64-v128:128:128-a0:0:64-s0:64:64-f80:128:128-n8:16:32:64-S128" target triple = "x86_64-apple-macosx10.8.0" @@ -12,7 +15,8 @@ ; not being accurate enough. ; CHECK-LABEL: foo1 ; load: -; CHECK: movzbl +; CHECK-BWON: movzbl +; CHECK-BWOFF: movb ; store: ; CHECK: movb ; load: @@ -59,7 +63,8 @@ ; not being accurate enough. ; CHECK-LABEL: foo2 ; load: -; CHECK: movzwl +; CHECK-BWON: movzwl +; CHECK-BWOFF: movw ; store: ; CHECK: movw ; load: @@ -113,7 +118,8 @@ ; movw and movzwl are the same size, we should always choose to use ; movzwl instead. ; CHECK-LABEL: foo4: -; CHECK: movzwl +; CHECK-BWON: movzwl +; CHECK-BWOFF: movw ; CHECK: movw define void @foo4(i16 *%dst, i16 *%src) { %t0 = load i16, i16 *%src, align 2