sim-se: small refactor on pipe syscall

Change-Id: I02ffb1c4af980554ff12ac7d11d32ba80fe261c5
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/12308
Reviewed-by: Brandon Potter <Brandon.Potter@amd.com>
Maintainer: Brandon Potter <Brandon.Potter@amd.com>
Tested-by: kokoro <noreply+kokoro@google.com>
diff --git a/src/sim/syscall_emul.cc b/src/sim/syscall_emul.cc
index eaf90ec..142292d 100644
--- a/src/sim/syscall_emul.cc
+++ b/src/sim/syscall_emul.cc
@@ -868,8 +868,14 @@
 SyscallReturn
 pipeImpl(SyscallDesc *desc, int callnum, ThreadContext *tc, bool pseudoPipe)
 {
-    int sim_fds[2], tgt_fds[2];
+    Addr tgt_addr = 0;
     auto p = tc->getProcessPtr();
+    if (!pseudoPipe) {
+        int index = 0;
+        tgt_addr = p->getSyscallArg(tc, index);
+    }
+
+    int sim_fds[2], tgt_fds[2];
 
     int pipe_retval = pipe(sim_fds);
     if (pipe_retval == -1)
@@ -898,9 +904,6 @@
         return tgt_fds[0];
     }
 
-    int index = 0;
-    Addr tgt_addr = p->getSyscallArg(tc, index);
-
     /**
      * Copy the target file descriptors into buffer space and then copy
      * the buffer space back into the target address space.