; This test ensures that we get a bitcast constant expression in and out,
; not a sitofp constant expression. 
; RUN: llvm-as < %s | llvm-dis | FileCheck %s
; CHECK: bitcast (

@G = external global i32

define float @tryit(i32 %A) {
   ret float bitcast( i32 ptrtoint (i32* @G to i32) to float)
}
