HLSL: Fix #802: Preserve promoted child under ! operator.
diff --git a/Test/hlsl.logicalConvert.frag b/Test/hlsl.logicalConvert.frag
new file mode 100755
index 0000000..2977206
--- /dev/null
+++ b/Test/hlsl.logicalConvert.frag
@@ -0,0 +1,15 @@
+float4 main() : SV_TARGET

+{

+	if (!(0) && (0) || (!1))

+	    return 0.0.xxxx; 

+	if (0)

+	    return 0.0.xxxx; 

+	if (!(bool)0)

+		return 0.0.xxxx;

+	if (!0)

+		return 0.0.xxxx;

+	if (!(bool)1)

+		return 0.0.xxxx;

+	if (!1)

+		return 0.0.xxxx;

+}
\ No newline at end of file